2010-08-11 40 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)。

我这样做是为了在第一时间就在昨天:)

相关问题