绑定命令时,绑定IsEnabled是可选的吗

本文关键字:绑定 IsEnabled 命令 | 更新日期: 2023-09-27 18:25:00

我注意到以下代码:

<Button Content="_Timbres..." 
    Command="{Binding Path=ShowTimbresCommand}" 
    IsEnabled="{Binding Path=CanExecuteShowTimbresCommand}"/>

表现为:

<Button Content="_Timbres..." 
    Command="{Binding Path=ShowTimbresCommand}">

这意味着CanExecuteShowTimbresCommand自动绑定到IsEnabled属性。这是真的吗?为什么?

绑定命令时,绑定IsEnabled是可选的吗

通常接受Command的控件会将IsEnabled设置为false,如果命令的CanExecutefalse,则仅此而已。

MSDN:

命令的另一个目的是指示操作是否可用。[…]按钮可以订阅CanExecuteChanged事件,如果CanExecute返回false,按钮将被禁用;如果CanExecutetrue,按钮将启用。