繁体   English   中英

WPF中的键绑定

[英]Keybinding in WPF

我是WPF的新手,在我正在构建的应用程序中,我希望在按下alt键时显示主菜单,就像在Vista和Windows 7中的Windows资源管理器一样。我尝试使用只有修改器的键绑定设置,但似乎不起作用。

到目前为止,代码为Heres:

<Window.CommandBindings>
    <CommandBinding Command="{x:Static local:MainWindow.ShowMenuCommand}"
                        CanExecute="ShowMenuCommand_CanExecute"
                        Executed="ShowMenuCommand_Executed"/>
</Window.CommandBindings>
<Window.InputBindings>
    <KeyBinding Key="Alt" Command="{x:Static local:MainWindow.ShowMenuCommand}" />
</Window.InputBindings>

当焦点丢失时,我也希望菜单消失。

有任何想法吗?

免责声明:这不是尝试答案,因为用户已经找到了解决方案。 这只是为了提供有关该主题的其他信息。

对于任何想知道为什么@jamier尝试使用此KeyBinding不起作用的人,可以在MSDN上的KeyBinding页面中找到答案:

除功能键和数字键盘键外,有效的KeyGesture必须只包含一个键和一个或多个ModifierKeys

因此,一个修饰符本身不能用作KeyBinding的有效Gesture

您是否尝试将Key属性设置为"LeftAlt""RightAlt" Key属性的类型为System.Windows.Input.Key枚举,它没有"Alt"值。

AltKeyGesture用作修饰符,因此您可以在其他位置单独看到它。 但是,在Key枚举中,它特别具有左右Alt键的实例。

您很可能必须有两个绑定,每个alt键一个。

尝试设置Modifiers="Alt"Key="LeftAlt"

<KeyBinding Key="LeftAlt" Modifiers="Alt" Command="{x:Static local:MainWindow.ShowMenuCommand}" /> 

尝试在Menu控件上设置IsMainMenu="True" 这会给你你正在寻找的行为吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM