1

在我的窗口(比方说MyCanvas)中有一个新的命令定义,然后我将其绑定到我的窗口。通常和 Executed 的处理程序CanExecute直接在MyCanvas. 但是是否有可能将CanExecuteandExecuted处理程序绑定到相对路径,例如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>
4

1 回答 1

0

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

于 2012-11-19T19:08:46.743 回答