C# 如何使WPF ContextMenu在启用时自动选择第一项';它开门了吗?
当用户点击快捷键(通过将其IsOpen属性更改为true)时,我正在打开一个ContextMenu。但当它打开时,不会选择任何项目。如何选择第一个项目,以便用户不必按下向下箭头即可到达它?我不确定您要选择哪个控件(Datagrid、ListView或其他控件)。但是,您需要检查的第一件事是您的控件是否支持C# 如何使WPF ContextMenu在启用时自动选择第一项';它开门了吗?,c#,wpf,contextmenu,C#,Wpf,Contextmenu,当用户点击快捷键(通过将其IsOpen属性更改为true)时,我正在打开一个ContextMenu。但当它打开时,不会选择任何项目。如何选择第一个项目,以便用户不必按下向下箭头即可到达它?我不确定您要选择哪个控件(Datagrid、ListView或其他控件)。但是,您需要检查的第一件事是您的控件是否支持KeyPress事件。如果支持,则尝试为按键附加处理程序,并编写逻辑以检查所需的键并相应地选择项 您可以查看一个示例,其中包含如何基于Enter键选择数据网格单元格/行的实现。尝试以下操作: &
KeyPress
事件。如果支持,则尝试为按键
附加处理程序,并编写逻辑以检查所需的键并相应地选择项
您可以查看一个示例,其中包含如何基于Enter键选择数据网格单元格/行的实现。尝试以下操作:
<ListBox>
<ListBoxItem Content="Item">
<ListBoxItem.ContextMenu>
<ContextMenu Opened="ContextMenu_Opened">
<MenuItem Click="some_event" Header="Qwerty"/>
</ContextMenu>
</ListBoxItem.ContextMenu>
</ListBoxItem>
</ListBox>
private void ContextMenu_Opened(object sender, RoutedEventArgs e)
{
var contextMenu = sender as ContextMenu;
(contextMenu.Items[0] as MenuItem).Focus();
}