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

来源:互联网 发布:淘宝运费险能退多少钱 编辑:程序博客网 时间:2024/06/05 02:49

右键菜单是很常用的一种功能,能够为用户操作带来不少便捷。那么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;        }





0 0