我是WPF的新手。我只是不明白为什么WPF中需要TypeConverters和IValueConverter。这两个对象的目的是将值转换为特定类型。但是为什么两者都呢?

提前致谢。

最佳答案

IValueConverter仅在数据绑定(bind)方案中使用。它允许您在将值显示在UI中之前对其进行格式化,或者从UI控件中解析值,以便可以将其存储在绑定(bind)源中。一个示例是将IsDirty标志转换为UI中的“*”,或者将Color实例转换为Brush实例。根据我自己的经验,我仅将IValueConverter用于格式化目的(也就是说,仅实现Convert方法)。

TypeConverter派生类通常用于在字符串值之间进行转换。这可用于在XAML中设置自定义类型的属性。

10-06 09:08