显示不同的上下文菜单
本文关键字:上下文 菜单 显示 | 更新日期: 2023-09-27 17:58:27
目标:
如果在列表视图中右键单击一行,或在列表视图内部右键单击而不选择一行,则显示不同的上下文菜单。
问题:
很难找到一种解决方案,一旦点击某个东西,就可以显示不同的上下文菜单。
private void lstvdMonth_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
ContextMenu myContextMenu = new ContextMenu();;
if (MouseButtonState.Released == e.RightButton)
{
MenuItem menuItem3 = new MenuItem();
menuItem3.Header = "Add quantity";
myContextMenu.Items.Add(menuItem3);
menuItem3.Click += new RoutedEventHandler(menuItem3_Click);
MenuItem menuItem2 = new MenuItem();
menuItem2.Header = "Delete";
myContextMenu.Items.Add(menuItem2);
menuItem2.Click += new RoutedEventHandler(menuItem2_Click);
}
else
{
MenuItem menuItem1 = new MenuItem();
menuItem1.Header = "New product";
myContextMenu.Items.Add(menuItem1);
menuItem1.Click += new RoutedEventHandler(menuItem1_Click);
}
myContextMenu.IsOpen = true;
}
我认为您应该在if
中测试的是ListView中是否选择了任何项目(例如SelectedItem == null
)。
在MouseUp事件中,您希望鼠标按钮到底是如何按下的?