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