我正在开发的系统在内部使用了大量的自定义值类型。我正在使用 WPF 开发原型 UI。WPF 不知道如何显示自定义类型。我知道我可以编写一个自定义 ValueConverter 来执行此操作,但我真的不想每次绑定到我的 XAML 中的类时都必须指定转换器的使用。
是否有我可以在自定义值类型中实现的接口,让 WPF 知道如何在本机显示它?
或者,有没有一种方法可以指定一个应用程序范围的值转换器,该转换器将应用于我们自定义类型的任何实例,而不必在每个绑定表达式中指定 ValueConveter?
我正在开发的系统在内部使用了大量的自定义值类型。我正在使用 WPF 开发原型 UI。WPF 不知道如何显示自定义类型。我知道我可以编写一个自定义 ValueConverter 来执行此操作,但我真的不想每次绑定到我的 XAML 中的类时都必须指定转换器的使用。
是否有我可以在自定义值类型中实现的接口,让 WPF 知道如何在本机显示它?
或者,有没有一种方法可以指定一个应用程序范围的值转换器,该转换器将应用于我们自定义类型的任何实例,而不必在每个绑定表达式中指定 ValueConveter?
啊哈!弄清楚了。我需要编写一个 TypeConverter 并将其应用于我的自定义类型。这允许 WPF 自动确定如何处理它们,而无需在 XAML 中指定模板或转换器。
您应该能够为您的值类型指定一个DataTemplate,并将其放入您的应用程序资源中。这将决定您的值类型如何在全球范围内显示。
很抱歉,如果这很明显很愚蠢,但是为什么不在ToString()
值类型中覆盖呢?