CommandBinding相对路径

时间:2012-11-19 16:43:52

标签: c# wpf command commandbinding

在我的窗口中(假设MyCanvas),有一个新的命令定义,然后我将其绑定到我的窗口。通常CanExecute和已执行的处理程序直接位于MyCanvas内。但是,是否可以将CanExecuteExecuted处理程序绑定到相对路径,例如MyCanvas.Logic.CanExecute_OpenCamera

这是我目前的XAML。

<Window.Resources>
        <RoutedUICommand x:Key="OpenCamera" Text="Open camera" />
</Window.Resources>    
<Window.CommandBindings>
    <CommandBinding Command="{StaticResource OpenCamera}" CanExecute="CanExecute_OpenCamera" Executed="Executed_OpenCamera"/>
</Window.CommandBindings>

这就是我想要定义的内容。逻辑是MyCanvas的公共财产。

<Window.Resources>
        <RoutedUICommand x:Key="OpenCamera" Text="Open camera" />
</Window.Resources>    
<Window.CommandBindings>
    <CommandBinding Command="{StaticResource OpenCamera}" CanExecute="Logic.CanExecute_OpenCamera" Executed="Logic.Executed_OpenCamera"/>
</Window.CommandBindings>

1 个答案:

答案 0 :(得分:0)

您可以,但必须使用转换器,如果方法是静态的,则从类的绑定对象或其类型创建委托给相应方法的委托。有关详细信息,请参阅http://wpfglue.wordpress.com/2012/05/07/commanding-binding-controls-to-methods/