ウィンドウ内(たとえばMyCanvas)に新しいコマンド定義があり、それをウィンドウにバインドします。通常、CanExecuteおよびExecutedのハンドラーは。内に直接ありますMyCanvas。CanExecuteしかし、たとえば、ハンドラーとExecutedハンドラーを相対パスにバインドすることはどういうわけか可能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>