MyCustomControl
提供缩放RoutedCommand
此ZoomCommand
定义如下:
ZoomCommand = new RoutedCommand( "ZoomCommand", typeof( MyCustomControl) );
this.CommandBindings.Add( new CommandBinding( ZoomCommand, zoomCommandHandler,
( s, e ) => e.CanExecute = this.IsZoomEnabled ) );
我在我的应用中使用KeyBinding
绑定此命令,如下所示:
<KeyBinding Key="Add" CommandTarget="{Binding ElementName=myCustomControl}"
Command="{Binding ElementName=myCustomControl, Path=ZoomCommand}" />
问题:
现在我需要添加更多逻辑来启用/禁用命令的执行;还有一个CanExecute
。
这个逻辑对myCustomControl
是未知的,需要在应用程序级别的其他地方添加。
我虽然KeyBinding本身提供了CanExecute
,但它没有。
在这种情况下,如何处理命令的执行?