問題タブ [routed-commands]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1333 参照

wpf - WPF ルーティング コマンド ディスパッチ メカニズムを書き換える方法

ある方法で WPF コマンド ルーティングを拡張して、コマンドをフォーカスされたフィールドで呼び出すことができるかどうかを最初に確認できますか? そのためのフックはありますか?それが機能するかどうかわからないかもしれませんが、ネット上のどこかで似たようなものを見たので、リンクを惜しみませんか?

抽象的な例

たとえば、サイド パネルを備えたテキスト エディタを作成している場合、パネルにフォーカスがあります。Ctrl+G を押すと、パネルにコマンド バインディングとフォーカスがあるため (通常の WPF 動作)、いくつかのコマンドが呼び出されます。また、Ctrl+H を押しても、今回はパネルに呼び出されたコマンドのコマンド バインドがありません。この場合、ルーティング エンジンをテキスト エディターに切り替えて、同じコマンドをそこに吹き込みたいと思います。

実際の例

[貼り付け] というメニュー項目がありますが、フォーカスはサイド パネルにあります。メニューを押すと、パネルにバインドされたコマンドが実行されます。パネルにバインドされた適切なコマンドがないとします。この場合、テキスト エディターに貼り付けたいと思います。

コード

このコードは、多かれ少なかれこのシナリオを表しています。Ctrl+H を押して CommandBinding_Executed_1 を実行したい

Window1.xaml

Window1.xaml.cs

0 投票する
3 に答える
3784 参照

c# - WPFルーティングコマンドを手動で実行する

RoutedUICommand次のように、コードビハインドからカスタムを手動で実行する場合:

最初にメソッドを呼び出す必要がありますかCanExecute、それともメソッド内ですでに実行されていExecuteますか?

0 投票する
1 に答える
744 参照

wpf - ルーティングされたコマンドをトリガーする入力バインディングを取得するにはどうすればよいですか?

コマンドが割り当てられたメニュー項目 (MyCommands.Indent) と 2 つのテキスト領域があり、どちらも MyCommands.Indent をトリガーする入力バインディングを持っています。難しいのは、入力バインディングにはさまざまなジェスチャがあり、これらのジェスチャを MenuItem で変更したいということです。

私の質問は次のとおりです。このルーティングされたコマンドをトリガーする入力バインディングを取得するにはどうすればよいですか?

0 投票する
1 に答える
1301 参照

c# - ルーティングされたコマンドをWPFのチェックボックスに追加できません

カスタムRoutedCommandは、一部のmenuItemによって使用されます。チェックボックスで同じRoutedCommandを使用したい:

コンパイラーはエラーを出しませんが、アプリを起動すると、コマンド値をnullにできないため、SwitchContextCommandをcheckBox.Commandにアタッチできないという例外が発生します。

このコマンドはメニューで正常に機能します。

最初の質問:これは可能ですか?CheckBoxクラスにはCommandプロパティとCommandParametersプロパティが含まれているので、これについては自分で答えることができると思います。可能だと思います。

2番目:それはどのように機能しますか?MenuItemsを使用すると、メニューが表示されたときにCanExecuteが呼び出されます。常に表示されるチェックボックスはどうなりますか?クリック時に暗黙的に呼び出されますか?

第三に:なぜそれが機能しないのですか?

ありがとう!

0 投票する
1 に答える
108 参照

wpf - これはRoutedCommandの使用に適していますか?

2つのContentControlsがあるWPFページがあります。両方のContentControlには画像があり、一方は他方よりもはるかに小さいです。大きい画像の上にマウスを置くと、小さい画像にズームインビューが表示されます。これに非常によく似たもの:http://www.trekbikes.com/us/en/bikes/urban/soho/soho/

大きい画像コントロールに、実際に画像を含むものを送信してもらいたいと思います。小さい画像コントロールがそれを取得して表示します。これは、RoutedCommandsを利用するのに適した場所でしょうか?そのような画像を渡すことはできますか?

0 投票する
2 に答える
1187 参照

wpf - 異なるコントロールで同じ RoutedCommand を使用する方法は?

menuItem (window.xaml 内) と userControl (foo.xaml 内) の 2 つの個別の UI 要素が個別のファイルに含まれています。

どちらもまったく同じロジックを持ちます。条件が一致し、同じメソッドを呼び出す場合にのみ有効になります。このロジックをコーディングするには、RoutedCommandsを使用します。

CanExecuteExecutedで同じ条件で、各ファイルで 2 つの異なる RoutedCommands を使用できます。できます。

DRY ルールに従い、routedCommand と付属のメソッドを外部化するようにコードを改善したいと考えています。これは両方のファイルのバインディングです:

これは TestRoutedCmmand.cs です:

私がそうすると、コンパイラはこのエラーを報告します:

(元のメッセージは英語ではないため、翻訳は正確ではない可能性があります)

外部メソッドはサポートされていないようですが、何かを見逃していないと確信しています。私のメソッドが静的であるという事実なのだろうか?

私のメソッドを外部化する別の方法はありますか、それとも他の 2 つだけを呼び出すこれら 4 つのメソッドにとどまらなければなりませんか?

注:私のプロジェクトでは、これは30以上の複製されたroutedCommandメソッドで、他に2つしか呼び出していません...これが私をとても悩ませている理由です。

ありがとう。

0 投票する
2 に答える
40497 参照

wpf - ICommand と RoutedCommand

Commandボタンプロパティをカスタム コマンドにバインドしてみましょう。

いつ実装ICommandし、いつから派生する必要がありRoutedCommandますか? RoutedCommand が ICommand を実装していることがわかります。

どのような場合に実装する必要がありICommandますか? MVVMモデルはどうですか?この目的にはどちらが適していますか?

0 投票する
6 に答える
5244 参照

wpf - RoutedUICommandsをインターセプトするWPFTextBox

WPFアプリケーションでUndo/Redoキーボードショートカットを機能させようとしています(コマンドパターンを使用して独自のカスタム機能を実装しています)。ただし、TextBoxコントロールが「元に戻す」RoutedUICommandをインターセプトしているようです。

UIツリーのルートでCtrl+Zをキャッチできるように、これを無効にする最も簡単な方法は何ですか?TextBox可能であれば、アプリケーションのそれぞれに大量のコード/XAMLを入れないようにしたいと思います。

以下に、問題を簡単に示します。


0 投票する
1 に答える
3377 参照

wpf-controls - WPFテキストボックスでCopyコマンドをオーバーライドするには?

WPF TextBox の RoutedUICommand "Copy" の動作をオーバーライドしたいと思います。

TextBox を継承する新しい TextBoxExtended クラスを作成しなくても可能ですか?

私はその点に達しましたが、今は少し迷っています。

続行する方法はありますか?