如何在WPF中使用Alt键切换主菜单可见性?

如何在WPF中使用Alt键切换主菜单可见性?,第1张

概述我希望我的WPF应用程序中的主菜单的行为类似于IE8中的主菜单: >当应用程序启动时,它不可见 >按下并释放Alt使其可见 >再次按下并释放Alt会使其再次隐身 >重复直到无聊 我怎样才能做到这一点?它必须是代码吗? 添加回复提交的答案,因为我仍然遇到麻烦: 我的Shell代码隐藏现在看起来像这样: public partial class Shell : Window{ public 我希望我的WPF应用程序中的主菜单的行为类似于ie8中的主菜单:

>当应用程序启动时,它不可见
>按下并释放Alt使其可见
>再次按下并释放Alt会使其再次隐身
>重复直到无聊

我怎样才能做到这一点?它必须是代码吗?

添加回复提交的答案,因为我仍然遇到麻烦:

我的Shell代码隐藏现在看起来像这样:

public partial class Shell : Window{    public static Readonly DependencyProperty IsMainMenuVisibleProperty;    static Shell()    {        FrameworkPropertyMetadata Metadata = new FrameworkPropertyMetadata();        Metadata.DefaultValue = false;        IsMainMenuVisibleProperty = DependencyProperty.Register(            "IsMainMenuVisible",typeof(bool),typeof(Shell),Metadata);    }    public Shell()    {        InitializeComponent();        this.PrevIEwKeyUp += new KeyEventHandler(Shell_PrevIEwKeyUp);    }    voID Shell_PrevIEwKeyUp(object sender,KeyEventArgs e)    {        if (e.SystemKey == Key.leftAlt || e.SystemKey == Key.RightAlt)        {            if (IsMainMenuVisible == true)                IsMainMenuVisible = false;            else                IsMainMenuVisible = true;        }    }    public bool IsMainMenuVisible    {        get { return (bool)GetValue(IsMainMenuVisibleProperty); }        set { SetValue(IsMainMenuVisibleProperty,value); }    }}
解决方法 您可以在窗口上使用PrevIEwKeyDown事件.要检测Alt键,您需要检查KeyEventArgs的SystemKey属性,而不是通常用于大多数其他键的Key属性.

您可以使用此事件设置bool值,该值已在后面的windows代码中声明为DependencyProperty.

然后可以使用BooleanToVisibilityConverter将菜单的Visibility属性绑定到此属性.

<Menu     Visibility={Binding Path=IsMenuVisibile,relativeSource={relativeSource AncestorType=Window},Converter={StaticResource BooleanToVisibilityConverter}}    />
总结

以上是内存溢出为你收集整理的如何在WPF中使用Alt键切换主菜单可见性?全部内容,希望文章能够帮你解决如何在WPF中使用Alt键切换主菜单可见性?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1108699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存