wpf命令和CustomControl

时间:2016-05-04 07:55:22

标签: wpf command custom-controls

MyCustomControl提供缩放RoutedCommandZoomCommand定义如下:

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,但它没有。

在这种情况下,如何处理命令的执行?

0 个答案:

没有答案