是否可以扩展现有的TypeConverter?

时间:2012-04-25 15:41:21

标签: c# .net wpf silverlight xaml

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

2 个答案:

答案 0 :(得分:4)

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

Background="#FF9D661C"

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

答案 1 :(得分:1)

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