這可能是一個愚蠢的問題,但如何設置一個usercontrol的顏色屬性?因爲在XAML的顏色只是一個文本字段我怎麼都值轉換,這樣我可以設置畫筆正確如何使用dependencyproperty設置顏色?
<MyUserControl LabelColour="#FF747474" /> <MyUserControl LabelColour="Red"/>
這是多遠我得了。該值以文本形式出現,但將其轉換爲畫筆的下一步是什麼?
private static DependencyProperty LabelColourProperty
= DependencyProperty.Register("LabelColour", typeof(object), typeof(MyUserControl), new PropertyMetadata(null));
public object LabelColour
{
get { return GetValue(LabelColourProperty); }
set { SetValue(LabelColourProperty, value); LabelGrid.Background = (Brush)value; }
}
爲什麼你使用類型'對象',爲什麼不''刷'? – Zabavsky 2012-03-09 11:31:27
沒有特別的理由,刷當然更好。但問題仍然是如何將值轉換爲畫筆。有沒有一種方法可以將文本值轉換爲有效的Color對象,然後我可以將它傳遞給「新的SolidColorBrush()」或類似的東西? – JohnCambell 2012-03-09 12:28:55
玩過代碼之後,似乎必須讓它與XAML一起工作。 – JohnCambell 2012-03-09 16:41:45