2010-08-11 49 views
0

我想在c#中將控件的填充顏色綁定到布爾值,所以如果它是false,顏色是紅色,如果它是true,則顏色是綠色。控制XAML控件從c#中填充顏色的正確方法是什麼?

XAML很新,但想從一開始就進入良好的習慣。

感謝,

+0

你能否添加另一個屬性BoolAsColor,它返回所需的顏色並將填充顏色綁定到該屬性? – 2010-08-11 09:30:39

+0

所以(併爲我的無知道歉)使我的布爾自定義類,並添加填充顏色屬性? – Ben 2010-08-11 09:40:16

回答

1

查看模型存在數據轉換成用戶界面可以使用的格式,所以在視圖模型創建Color類型的屬性,可以做從邏輯轉換的形式存儲的布爾值爲Color值。調用此屬性'DisplayColor'。

每當布爾值更改顏色(如果它隨時間變化)時,使用ViewModel上的INotifyPropertyChanged接口在'DisplayColor'屬性上引發事件。這將確保只要布爾值發生更改,UI就會自行更新。

然後將控件的顏色屬性綁定到視圖模型的新'DisplayColor'屬性(假設您已將DataContext設置爲ViewModel)。

我這樣做是爲了在第一時間就在昨天:)

相關問題