[英]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"
值。
Alt
在KeyGesture
用作修飾符,因此您可以在其他位置單獨看到它。 但是,在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.