右键菜单是很常用的一种功能,能够为用户操作带来不少便捷。那么WPF中应该如何为控件添加右键菜单呢?其实很简单,新手用一次就知道了。
WPF中很多控件都有一个ContextMenu的属性,在添加控件的时候,定义一个ContextMenu菜单控件,然后赋值给控件的ContextMenu属性就可以了。如下:
ContextMenu aMenu = new ContextMenu();
MenuItem deleteMenu = new MenuItem();
deleteMenu.Header = "删除";
deleteMenu.Click += btDel_Click;
aMenu.Items.Add(deleteMenu);
Listview1.ContextMenu = DelMenu;
此时右击控件,便会在鼠标点击位置出现菜单。
如果需要在菜单弹出之前做一些判断,或是不同选项弹出的菜单不一样,则可以在控件的右击事件中进行处理。例子如下:
private void listView1_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
listviewItem aItem = (listviewItem )sender;
if (aItem.Index==0) //第一行不弹出右键菜单
{
MessageBox.Show("请先选中一行!");
return;
}
ContextMenu aMenu = new ContextMenu();
MenuItem deleteMenu = new MenuItem();
deleteMenu.Header = "删除";
deleteMenu.Click += btDel_Click;
aMenu.Item.Add(deleteMenu);
MenuItem editMenu=new MenuItem();
editMenu.Header="编辑";
editMenu.Click+=btEdit_Click;
aMenu.Items.Add(eidtMenu);
aItem.ContextMenu = DelMenu;
}