簡體   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