在PropertyGrid中显示一个属性的单位(使用c#)
本文关键字:属性 单位 使用 一个 PropertyGrid 显示 | 更新日期: 2023-09-27 18:14:05
我在我的propertygrid中显示一个名为"Min Height"的属性。它是一个来自定义它的ViewModel类的int。但是,当我显示它时,我希望单位"dip"出现在它旁边。一旦用户点击它进行编辑,'dip'应该消失,只有int数字应该被编辑。
干杯!
DevExpress有不同的属性网格-一个用于WinForms平台,另一个用于WPF。它们都被命名为PropertyGridControl,因此很难猜测您谈论的是哪个。解决方案取决于平台。我将描述两者。
在WinForms平台中,DevExpress支持几种格式化方法,可以应用于编辑器或复杂控件的特定元素。对于您的任务,使用本文中描述的方法是很方便的:如何:将自定义文本添加到格式化字符串。也就是说,您可以像这样将文本分配给FormatString属性:"{0}dip"。使用BaseRow.RowProperties.Format属性为特定行分配格式。
在WPF中,您可以实现自定义值转换器并将其分配给PropertyDefinition.EditSettings.DisplayTextConverter属性。IValueConverter。转换方法将在每次属性网格需要知道显示值时自动调用。将代码放入此方法中,以便为实际值添加适当的文本。
这两种方法只在显示模式下改变相应属性网格单元格的文本。一旦用户在单元格内单击以调用属性编辑器,显示文本将被替换为实际值。