2012-04-25 77 views
0

我已经在silverlight中拥有一个SolidColorBrush属性。在XAML中,您可以将其设置为预先存在的颜色,例如黑色,黄色,白色等。我假定有一个TypeConverter将字符串“Black”并将其转换为Color对象,并基于此对象创建一个新的SolidColorBrush 。我希望这个功能保持不变,但增加了接受十六进制字符串来设置颜色的功能。我需要一个TypeConverter这个,对吗?有没有办法从当前的方式延伸,以便我仍然可以传递颜色名称?是否可以扩展现有的TypeConverter?

+2

TypeConverter已经接受像'#FF1F2F3F'这样的十六进制字符串。请参阅[这里](http://msdn.microsoft.com/en-us/library/system.windows.media.solidcolorbrush(v = vs.95).aspx)。 – Clemens 2012-04-25 15:46:34

回答

4

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

Background="#FF9D661C" 

有一个XAML元素的属性VS窗格中打开,同时有助于指出可能这就是无法通过intelisence不一定明显(例如,设置背景为十六进制或gradiant刷)。

+0

它应该像编写'Color =“#FFFFFF”' – Tejs 2012-04-25 15:46:31

+0

一样简单,这完全符合我的需要。谢谢。 – Justin 2012-04-25 16:08:53

1

正如@Ricibob所说,现有的转换器alreadys的工作原理是如何工作的。另外,它看起来像所有内置的TypeConverters都是密封的,所以你不能从它们继承(尽管没有什么能够避免使用组合来解决问题)。