我在窗口内有CommandBinding和KeyBindings。按下Alt修饰符激活命令。是否可以使用此绑定显示下划线符号?
ps我不想在文本中使用下划线符号,请参阅此处WPF hot key firing without modifier
答案 0 :(得分:1)
您可以简单地将商品的内容以下划线开头;按下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;
}
}
}
这样可以防止Command
在未按下Alt
修饰键时触发。