1
ウィンドウ内にCommandBindingとKeyBindingsがあります。 Altキーを押しながらコマンドを有効にします。このバインディングでアンダースコア記号を表示することは可能ですか?私はここを参照してください理由WPF hot key firing without modifierキーバインドを指定してAltを押したときに下線記号を表示
ウィンドウ内にCommandBindingとKeyBindingsがあります。 Altキーを押しながらコマンドを有効にします。このバインディングでアンダースコア記号を表示することは可能ですか?私はここを参照してください理由WPF hot key firing without modifierキーバインドを指定してAltを押したときに下線記号を表示
あなたは単にあなたの項目の内容は、アンダースコアで始まる作ることができ、テキストに下線記号を使用したくない
PS; Altキーを押すと、アンダースコアが表示されます。
<Button Height="100" Width="200" Content="_MyButton"/>
の懸念は、Altキー、キー修飾子が押されていないCommand
の焼成であれば、 Atanasのようにこの動作を変更することができます。
public Window1()
{
InitializeComponent();
EventManager.RegisterClassHandler(typeof(UIElement), AccessKeyManager.AccessKeyPressedEvent, new AccessKeyPressedEventHandler(OnAccessKeyPressed));
}
private static void OnAccessKeyPressed(object sender, AccessKeyPressedEventArgs e)
{
if (!e.Handled && e.Scope == null && (e.Target == null))
{
//if alt key is not in use handle event to prevent behavior without alt key
if ((Keyboard.Modifiers & ModifierKeys.Alt) != ModifierKeys.Alt)
{
e.Target = null;
e.Handled = true;
}
}
}
これはAlt
修飾キーが押されていないときに発射からCommand
を防ぐことができます。
私の郵便は慎重に読んでください - 特に "ps"部分。 –
@ Lonli-Lokli私は混乱しています。アンダースコアはいつどこに現れますか? –
Winコントロールには通常の動作があります。ユーザーがAltキーを押すとアンダースコアが表示されます(たとえば、content = "_ MyButton"の場合)。残念ながら、Windowsは(現在のユーザーのマシン設定に基づいて)Altモディファイアを使用せずにボタンイベントをクリックすることがあります。そこで私は自分のコントロールをKeyBindingに移しましたが、今度はAltキーを押したときに "_"記号を手動で表示する必要があります。 –