コピー/貼り付けなどの標準の WPF コマンドを見ると、それらはすべて 1 つのボタンを使用して機能し、テキスト ボックスに作用するように見えます。
私の質問: ボタンが 1 つある場合にコマンドを使用するにはどうすればよいですか?ただし、データを 2 つの別々のコントロール (テキストボックスとコンボボックス) に設定する必要があります。ユーザーがテキストボックスにテキストを書き込んでいて、コンボボックスの値を選択していない場合、CanExecute は失敗するはずです。これは、コンボボックスが設定されている場合に適用されますが、テキストボックスには適用されません。
特に私の場合、これらのコントロールはすべて tabitem にラップされています。同様に、テキスト ボックスとボタンのみの別のタブもあります。最初のタブと同じ機能を持たせたいのですが、コンボボックスの値をチェックする代わりに、コンボボックスがないことを検出し、代わりにデフォルトの「null オブジェクト」値を渡す必要があります。
Execute メソッドはビューモデルのメソッドを呼び出し、コンボボックスとテキスト ボックスから値を渡す必要があります。同様に、各タブは別の一意の静的値を渡す必要があります。私はコマンドパラメータを使用してこれを処理できると思います。
どうすればこれを機能させることができますか? commandtarget の親タブを作成し、can/execute メソッドでその子コントロールを直接参照する必要がありますか?