Goal:
Display different context menu if right clicking a row from the listview or right clicking inside of listview without making a selection of a row.Problem:
Having difficult to find a solution that enable to display different context menu once clicking on something.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;
}
I think what you should test in the if
is whether any items are selected in the ListView (e.g. SelectedItem == null
).
How exactly do you expect the mouse button to ever be down in the MouseUp event?
精彩评论