【发布时间】:2015-05-26 11:40:19
【问题描述】:
我想使用LeftAlt 和RightAlt 键在打开的上下文菜单中更改MenuItems。我希望这一切都在菜单已经打开时发生 - 而不是在单击鼠标右键打开上下文菜单时。我做了以下事情:
ContextMenu.KeyDown += ContextMenu_KeyDown;
void ContextMenu_KeyDown(object sender, KeyEventArgs e)
{
if( e.Key == Key.LeftAlt || e.Key == Key.RightAlt )
{
e.Handled = true;
// DEMO
MenuItem firstItem = this.ContextMenu.Items[0] as MenuItem;
if( firstItem != null ) firstItem.Header = "Alt Pressed!";
}
}
不幸的是,这不起作用。只要我按下 Alt 键,上下文菜单就会关闭,尽管我使用的是e.Handled = true;。为什么是这样?如何捕捉 Alt 键并更改上下文菜单并使菜单保持打开状态?
【问题讨论】:
标签: wpf contextmenu