我想在c#中將控件的填充顏色綁定到布爾值,所以如果它是false,顏色是紅色,如果它是true,則顏色是綠色。控制XAML控件從c#中填充顏色的正確方法是什麼?
XAML很新,但想從一開始就進入良好的習慣。
感謝,
本
我想在c#中將控件的填充顏色綁定到布爾值,所以如果它是false,顏色是紅色,如果它是true,則顏色是綠色。控制XAML控件從c#中填充顏色的正確方法是什麼?
XAML很新,但想從一開始就進入良好的習慣。
感謝,
本
查看模型存在數據轉換成用戶界面可以使用的格式,所以在視圖模型創建Color
類型的屬性,可以做從邏輯轉換的形式存儲的布爾值爲Color
值。調用此屬性'DisplayColor'。
每當布爾值更改顏色(如果它隨時間變化)時,使用ViewModel上的INotifyPropertyChanged
接口在'DisplayColor'屬性上引發事件。這將確保只要布爾值發生更改,UI就會自行更新。
然後將控件的顏色屬性綁定到視圖模型的新'DisplayColor'屬性(假設您已將DataContext
設置爲ViewModel)。
我這樣做是爲了在第一時間就在昨天:)
你也可以實現一個IValueConverter
執行布爾與顏色之間的轉換。然後直接將color屬性綁定到布爾值,但是在綁定中指定新的IValueConverter。
當您無法控制要綁定的類時,此方法可能特別有用。請參閱http://msdn.microsoft.com/en-us/library/system.windows.data.ivalueconverter.aspx。
你能否添加另一個屬性BoolAsColor,它返回所需的顏色並將填充顏色綁定到該屬性? – 2010-08-11 09:30:39
所以(併爲我的無知道歉)使我的布爾自定義類,並添加填充顏色屬性? – Ben 2010-08-11 09:40:16