是否可以扩展现有的类型转换器

本文关键字:类型 类型转换 转换器 扩展 是否 | 更新日期: 2023-09-27 18:32:18

我在 silverlight 中创建了一个具有 SolidColorBrush 属性的控件。在 XAML 中,可以将其设置为预先存在的颜色,如黑色、黄色、白色等。我假设有一个TypeConverter接受字符串"Black"并将其转换为 Color 对象,并基于该对象创建一个新SolidColorBrush。我希望保留此功能,但增加了接受十六进制字符串以设置颜色的功能。我需要为此TypeConverter,对吗?有没有办法从当前扩展,以便我仍然可以传入颜色名称?

是否可以扩展现有的类型转换器

XAML 已经接受十六进制。 例如:

Background="#FF9D661C"

在 XAML 元素上打开"VS 属性"窗格有助于指示不一定通过智能明显的可能性(例如,将背景设置为十六进制或渐变画笔)。

正如@Ricibob所说,现有的转换器已经按照您想要的方式工作。此外,看起来所有内置的TypeConverters都是密封的,所以你不能从它们继承(尽管没有什么能阻止你使用组合来解决问题)。