[解決済み] WPFのキーボードショートカット
2022-06-17 13:06:05
質問
を使うことは知っています。
_
の代わりに
&
を使うようになりましたが、すべての
Ctrl
+ 型のショートカットを使用しています。
Ctrl + Z をアンドゥに使用します。 Ctrl + S で保存など。
WPF アプリケーションでこれらを実装するための「標準的な」方法はありますか。それとも、自分で作って、どんなコマンドやコントロールにも配線するケースでしょうか?
どのように解決するのですか?
コマンドにショートカットキーを追加する方法です。
InputGestures
. コマンドの実装は
RoutedCommands
.
これにより、ショートカットキーがどのコントロールにも接続されていない場合でも、ショートカットキーが動作するようになります。また、メニュー項目はキーボード ジェスチャを理解するので、そのコマンドをメニュー項目にフックすると、メニュー項目のテキストにショートカット キーが自動的に表示されます。
ステップ
-
コマンドを保持する静的属性を作成します(できればコマンド用に作成した静的クラスのプロパティとして使用するのが望ましいですが、簡単な例ではwindow.csで静的属性を使用するだけです)。
public static RoutedCommand MyCommand = new RoutedCommand();
-
メソッドを呼び出すためのショートカットキーを追加します。
MyCommand.InputGestures.Add(new KeyGesture(Key.S, ModifierKeys.Control));
-
execute時に呼び出すメソッドを指し示すコマンドバインディングを作成します。これを、それが動作すべきUI要素(例えば、ウィンドウ)とメソッドのコマンドバインディングに入れます。
<Window.CommandBindings> <CommandBinding Command="{x:Static local:MyWindow.MyCommand}" Executed="MyCommandExecuted"/> </Window.CommandBindings> private void MyCommandExecuted(object sender, ExecutedRoutedEventArgs e) { ... }
関連
-
[解決済み] StackPanelの子パネルが下方向に最大限のスペースを埋めるようにするには?
-
[解決済み】Visual Studio 2015の追加デバッグオプションの無効化
-
[解決済み] バインディングConverterParameter
-
[解決済み] WPFバインディングを使用して2つのコマンドパラメータを渡す
-
[解決済み] WPFでイベント処理のためにリソース辞書の後ろにコードを設定することは可能ですか?
-
[解決済み] MVVMテンプレートの好例
-
[解決済み] WPF Numeric UpDownコントロールはどこにありますか?
-
[解決済み] グリッドカラムの幅・高さを設定する際の「Auto」と「*」の違いは何ですか?
-
[解決済み] XAMLで複数のバリューコンバータを連結する方法はありますか?
-
[解決済み] レンダリング時間やパフォーマンスの面で最も効率的なパネルはどのような順番になりますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
WPFバインディング(データバインディング)の使用方法
-
[解決済み] StackPanelの子パネルが下方向に最大限のスペースを埋めるようにするには?
-
[解決済み] ユーザーコントロールライブラリーとカスタムコントロールライブラリーの違いは何ですか?
-
[解決済み] WPF:幅(と高さ)をパーセント値で設定する
-
[解決済み] Generic.xamlの特徴とは?
-
[解決済み] MVVMテンプレートの好例
-
[解決済み] グリッドカラムの幅・高さを設定する際の「Auto」と「*」の違いは何ですか?
-
[解決済み] WPFのキーボードショートカット
-
[解決済み] ItemsControlの仮想化?
-
[解決済み] レンダリング時間やパフォーマンスの面で最も効率的なパネルはどのような順番になりますか?