使用命令很方便,因为当命令无法执行时,WPF 会自动禁用命令的来源(通常是按钮)。
显然,此功能不适用于不是命令源的控件,例如ListBox
.
为非命令源控件启用此功能的最佳方法是什么。我想到了几个解决方案:
ListBox
用 a包裹Button
并更改ControlTemplate
按钮的 ,以便没有镀铬。- 创建一个不可见的并将 的属性
Button
绑定到 的属性IsEnabled
ListBox
IsEnabled
Button
- 创建
ListBox
该 implements的后代ICommandSource
。
有没有更优雅的方式?