1

現在、別のビュー(および関連するViewModel)であるViewModelのプロパティにバインドされているボタンとContentPresenterを備えたメインビューがあります。ContentPresenterにロードされたコントロールで宣言されたハンドラーからコマンドをルーティングする方法はありますか?これは、メインビューにツールバーが含まれ、コンテンツプレゼンターにコンテンツが含まれているためです。MicrosoftMVVMテンプレートと生成されたDelegateCommandクラスを使用しています。

<Window ...>
   <Button x:Name="btnAction" Command="{Binding ActionCommand}" />
   <ContentPresenter Content="{Binding CurrentView}" />
</Window>
4

1 に答える 1

1

ウィンドウとコントロールの両方が見ることができるクラスの静的オブジェクトであるコマンド オブジェクトを作成する必要があります。

  public static class MyCommands
  {
     public static RoutedUICommend CoolCommand .....;
  }

次に、コントロールの Command プロパティをコマンド オブジェクトにバインドできます。次に例を示します。

<Button Command="cmd:MyCommands.CoolCommand" />

次に、CommandBinding XAML 要素を使用して、ウィンドウ レベルでコマンド バインドを処理するだけです。

<CommandBinding Command="cmd:MyCommands.CoolCommand" Executed="My_Handler" />
于 2009-11-02T22:27:50.030 に答える