0

コマンドと呼ばれる静的クラスがあります。その中のRoutedCommandsの1つは、ConfirmNoPrintと呼ばれます。次のように、カスタムコントロールからコードビハインドで実行したいと思います。

Commands.ConfirmNoPrint.Execute(null, [WHAT_DO_I_PUT_HERE]);

カスタムコントロールクラスには、RelativeSourceプロパティが次のように設定されているBindingのインスタンスがあります。

_mainControlBinding.RelativeSource = new RelativeSource(RelativeSourceMode.FindAncestor, typeof(UserControl), 2);

_mainControlBindingのプロパティの1つを使用して、Commands.ConfirmNoPrint.Executeの2番目のパラメーターとして渡す必要のあるIInputElementのインスタンスを取得できますか?

ConfirmNoPrintのコマンドバインディングは私のカスタムコントロールの親ですが、別のアセンブリにあります。循環参照が発生するため、参照を追加できません。

私は間違った木を完全に吠えていますか?

4

1 に答える 1

0

ルーティングされたコマンドは、定義上、ルーティングされます。私があなたの問題をよく理解しているなら、あなたthisはあなたのコマンドの2番目のパラメーターとして渡す必要があります(あなたがコントロールクラスに入っていると仮定して)。コマンドは、親のコマンドバインディングに遭遇するまで、ビジュアルツリーをバブリングします。

于 2010-05-17T21:28:32.330 に答える