2012-03-21 32 views
2

私は、Ctrlキーをホットキーとして使ういくつかのコマンドを持っています。しかし、MenuItemはこれらをCtrl-Windows-として表示しますが、これはかなり醜いものです。どうすれば "Windows"ではなく "Win"が表示されるように変更できますか?ヤック助けて!醜いWPFホットキー

enter image description here

+8

アプリケーションのCtrl + Windowsショートカットを避けてください。 Windowsのキーは、WindowsおよびWindowsのみで使用されます。ユーザーはそれを期待しません。 Ctrl + Alt + XまたはCtrl + Shift + Xを代わりに使用してください。 – Ryan

答えて

5

MenuItemInputGestureTextプロパティを設定します。コマンドバインディングの前にを実行することを忘れないでください。

EDIT
あなたはプログラムで彼らのInputGestureTextプロパティを変更するには、すべてのMenuItem Sを繰り返すことがあり、各Menuitemのためにそれを繰り返したくない場合。代わりに、入力バインディングを使用している場合は、KeyGestureからクラスを派生させ、置換を行うにはGetDisplayStringForCultureを上書きすることができます。

+0

"Win"を持つすべてのホットキーで手動で行う必要があるということですか? – tofutim

+0

はい!いくつかの選択肢がありますが、私は彼らがさらに難しいと思います。すべてのMenuItemを反復して、InputGestureTextを変更できます。 _custom_入力バインディングを使用している場合は、独自のKeyGestureクラスを派生させ、GetDisplayStringForCultureをオーバーライドして処理を行うことができます。 –

+0

新しいKeyGesturesの3番目の引数は、表示名です。新しいKeyGestureの導出は、私がしたいことかもしれないと思います。 – tofutim

関連する問題