不允许在KeyGesture中使用Xaml LeftAlt

时间:2018-04-09 14:32:03

标签: wpf xaml key gesture

如何在XAML中使用此组合键?

<RoutedUICommand x:Key="GlobalExitCommand" Text="Execute GlobalExitCommand">
            <RoutedUICommand.InputGestures>
                <KeyGesture>LeftAlt+F1</KeyGesture>
            </RoutedUICommand.InputGestures>
        </RoutedUICommand>

不允许LeftAlt+F1。 提前致谢

1 个答案:

答案 0 :(得分:1)

LeftAlt不是有效的ModifierKeys值。有效值为NoneAltControlShiftWindows

因此,您无法在XAML中创建仅接受左 ALT KeyGesture。您可以使用Alt并处理Executed事件处理程序中的其余部分:

<Window.Resources>
    <RoutedUICommand x:Key="GlobalExitCommand" Text="Execute GlobalExitCommand">
        <RoutedUICommand.InputGestures>
            <KeyGesture>Alt+F1</KeyGesture>
        </RoutedUICommand.InputGestures>
    </RoutedUICommand>
</Window.Resources>
<Window.CommandBindings>
    <CommandBinding Command="{StaticResource GlobalExitCommand}" Executed="CommandBinding_Executed" />
</Window.CommandBindings>
private void CommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
{
    if (Keyboard.IsKeyDown(Key.LeftAlt))
    {
        //...
    }
}