我有一个TextBox
,它向用户显示一个文件路径。用户可以使用OpenFileDialog来选择文件,这会更新文本,或者直接将文件写入/粘贴到文本框中。ValueConversion only only when not selected
但是,文本框的大小受到限制,为了避免路径被切断,我使用自定义IValueConverter
来切断部分路径以确保驱动器号和文件名都可见。
例如, C:\Users\USERNAME\Documents\CompanyName\ExportType\ExportName\Exportfile1.bin
变得
C:\...\ExportType\ExportName\Exportfile1.bin
然后,当用户选择的字段,会出现问题。正如预期的那样,IValueConverter的ConvertBack
方法被触发,现在的值是缩短的路径。
是否可以在不创建一些自定义复杂的自定义控件的情况下在未选中时显示一个格式化值,并在选择时显示原始值?
(我有机会获得Telerik的UI组件,如果它已经存在这样的组件)
也许触发引发事件PreviousMouseDown更改属性使用并发提及的转换器和触发事件PreviousMouseUp为了恢复到以前的值的文本。请记住,对于文本框事件MouseDown/Up不会引发。 – Maximus
PreviewMouseDown(我猜你在那里有一个错字?)不是一个解决方案。用户可以选中它。 – AkselK
将Focusable设置为false以停用。但是我越来越困惑你想达到什么。 – Maximus