【问题标题】:Why do we have both TypeConverters and IValueConverter in WPF?为什么我们在 WPF 中同时拥有 TypeConverters 和 IValueConverter?
【发布时间】:2014-08-27 18:18:30
【问题描述】:

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

提前致谢。

【问题讨论】:

  • 这是一个很好的问题,显然没有得到真正的回答。类型转换器似乎是一种更精细的类型(不仅仅是两种方法),can be referenced by an attribute 在分配属性时自动检查是否可以进行某些转换。只是一个猜测。似乎更像是一种类型的构建块。

标签: wpf ivalueconverter typeconverter


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 2017-07-16
    相关资源
    最近更新 更多