Is binding IsEnabled optional when binding Command?

不打扰是莪最后的温柔 提交于 2019-12-07 04:58:56

问题


I noticed that the following code:

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

behaves equally as:

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

Meaning that the CanExecuteShowTimbresCommand is automatically bound to the IsEnabled property. Is that true and why?


回答1:


Usually controls which accept a Command will set IsEnabled to false if the command's CanExecute is false, that's all there is to it.

MSDN:

Another purpose of commands is to indicate whether an action is available. [...] A button can subscribe to the CanExecuteChanged event and be disabled if CanExecute returns false or be enabled if CanExecute returns true.



来源:https://stackoverflow.com/questions/9346328/is-binding-isenabled-optional-when-binding-command

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!