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?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With