【发布时间】:2011-10-15 23:11:53
【问题描述】:
我的域模型中有一个 poco 类:
public class Slot
{
bool HasPlayed { get; set; }
}
我在列表框项目模板中显示它。
<Border Background="...">
<CheckBox IsChecked="{Binding Path=HasPlayed, Mode=TwoWay}" />
</Border>
但我想做的是当 HasPlayed 为真时,边框的背景颜色变为红色,当为假时为绿色。这些画笔在资源字典中。
我可以在域模型中添加一个 Brush,但这会破坏关注点的分离。我以后也不会使用复选框,这只是一个模拟 UI。
我尝试了 IValueConverter,但它不会在属性更改时更改。该模型确实实现了 INotifyPropertyChanged。
当属性改变时你会如何改变颜色?
【问题讨论】:
-
您的 IValueConverter 代码是什么样的?
-
它最初为边框着色,但是当属性发生更改时,它不会更新。
标签: c# wpf domain-model