为什么WPF中同时具有TypeConverters和IValueConverter?

Pav*_*ari 6 wpf typeconverter ivalueconverter

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

提前致谢。

flo*_*dea 5

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

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