我正在使用基于枚举的listView分组{已更新且未更新}。在我的情况下,他们是一个调用更新的按钮我只是想要禁用行是否在更新组中。见图。
更新部分中的列表我希望禁用该按钮。我正在使用Here
中的示例答案 0 :(得分:2)
IsEnabled={Binding ProperyNameOnYourViewModel, Mode=OneWay}
这将起作用假设1)您的VM实现INotifyPropertyChanged
并在适当的时刻触发适当的事件(通常,属性的设置者负责); 2)你的控件本身知道如何在视觉上对IsEnabled=false
做出反应,即改变颜色或你想做的任何事情。
由于你有一个enum而不是bool,坚持我建议的解决方案的最简单方法是使用另一个属性扩展你的VM,它会一直重新计算boolean标志。然后,您可能不会从PropertyChanged
属性(实际绑定到bool
)调用IsEnabled
事件,而是从enum
属性调用,以便每当它发生更改时,WPF都会收到通知布尔属性也发生了变化。
否则,在转换器的帮助下解决问题,这需要更多的代码。