【发布时间】:2026-01-26 01:30:01
【问题描述】:
我希望我的 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); }
}
}
【问题讨论】:
-
你想模仿 Internet Explorer...?
-
我尽量让我的应用程序与用户的期望保持一致,所以是的。 :-)
-
也可以考虑 F10 键触发相同的行为以保持一致性。
标签: wpf menu keyboard-shortcuts toggle visibility