2011-06-23 1 views

答えて

1

あなたは単にあなたの項目の内容は、アンダースコアで始まる作ることができ、テキストに下線記号を使用したくない

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を防ぐことができます。

+0

私の郵便は慎重に読んでください - 特に "ps"部分。 –

+0

@ Lonli-Lokli私は混乱しています。アンダースコアはいつどこに現れますか? –

+0

Winコントロールには通常の動作があります。ユーザーがAltキーを押すとアンダースコアが表示されます(たとえば、content = "_ MyButton"の場合)。残念ながら、Windowsは(現在のユーザーのマシン設定に基づいて)Altモディファイアを使用せずにボタンイベントをクリックすることがあります。そこで私は自分のコントロールをKeyBindingに移しましたが、今度はAltキーを押したときに "_"記号を手動で表示する必要があります。 –

関連する問題