您的位置:首页 > 其它

WPF如何后台动态添加控件的右键菜单

2015-02-09 11:34 447 查看
右键菜单是很常用的一种功能,能够为用户操作带来不少便捷。那么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;此时右击控件,便会在鼠标点击位置出现菜单。
如果需要在菜单弹出之前做一些判断,或是不同选项弹出的菜单不一样,则可以在控件的右击事件中进行处理。例子如下:

<pre name="code" class="csharp"> 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;
}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息