2012-04-25 11 views
0

私はSolidColorBrushプロパティを持つSilverlightでコントロールを作成しました。 XAMLでは、これをBlack、Yellow、Whiteなどの既存の色に設定することができます。TypeConverterが文字列 "Black"を受け取り、それをColorオブジェクトに変換し、このオブジェクトに基づいて新しいSolidColorBrushを作成すると仮定します。私はこの機能を残しておきたいが、色を設定するために16進文字列を受け入れるという追加機能もある。これにはTypeConverterが必要ですか?私はまだ色の名前で渡すことができるように私は現在のものから拡張することができる方法はありますか?既存のTypeConverterを拡張することは可能ですか?

+2

TypeConverterはすでに '#FF1F2F3F'のような16進文字列を受け入れます。 [ここ](http://msdn.microsoft.com/en-us/library/system.windows.media.solidcolorbrush(v = vs95).aspx)を参照してください。 – Clemens

答えて

4

XAMLは既に16進数を受け入れます。例:

Background="#FF9D661C" 

は、XAML要素にVSのプロパティ]ウィンドウのオープン中を有するザッツはintelisence(Egは進またはグラジエント型のブラシなどの背景を設定する)を介して、必ずしも明らかではない可能性を示すことができます。

+0

'Color ="#FFFFFF "' – Tejs

+0

と書くのと同じくらい簡単になります。ありがとう。 – Justin

1

@ Ricibob氏によると、既存のコンバータのalreadysは、あなたが望むように動作します。さらに、組み込みのTypeConverterのすべてが封印されているように見えるので、それらから継承することはできません(ただし、問題を解決するために合成を使用することはできません)。

関連する問題