使用命令很方便,因为当命令无法执行时,WPF会自动禁用命令源(通常是按钮)。
显然,此功能不适用于非命令源的控件,例如ListBox
。
为非命令源控件启用此功能的最佳方法是什么。我想到了几个解决方案:
ListBox
包裹Button
并更改按钮的ControlTemplate
,以便没有镀铬。Button
并将IsEnabled
的{{1}}属性绑定到ListBox
IsEnabled
属性
Button
。{/ li>的ListBox
后代
有更优雅的方式吗?
答案 0 :(得分:4)
您可以在代码隐藏(或视图模型)中创建bool属性,例如CanSelect
或CanEdit
,并将IsEnabled
的{{1}}属性绑定到该属性。只需在相应命令的ListBox
方法中设置此新属性的值。