WPF 右键菜单选项
WPF右键菜单一般情况下是被看做一个类。当我们在具体的开发程序中,往往都是需要在某个按钮或框架内添加一个WPF右键菜单的需求。
ContextMenu类就是用来做右键菜单的对象,对于任何的控件都可以进行对ContextMenu属性的操作进行设置右键菜单的功能.
下面代码就是对一个按钮添加一个WPF右键菜单的功能:
- < Button Name="cmButton"
Height="30">Button with
Context Menu - < Button.ContextMenu>
- < ContextMenu Name="cm"
StaysOpen="true"> - < MenuItem Header="File"/>
- < MenuItem Header="Save"/>
- < MenuItem Header="SaveAs"/>
- < MenuItem Header="Recent Files"> //注意没有斜杠是因为开启二级菜单 姜彦 20170615
- < MenuItem Header="ReadMe.txt"/> // 二级菜单下的item 姜彦 20170615
- < MenuItem Header="Schedule.xls"/>
- < /MenuItem>
- < /ContextMenu>
- < /Button.ContextMenu>
- < /Button>
包括任何控件,只要有ContextMenu属性都可以添加WPF右键菜单.
工程中实际的代码:
WPF界面端代码:
<DataGrid.ContextMenu> <ContextMenu Name="cmCheck" StaysOpen="true" Background="White" > <MenuItem Header="全选" Click="cmCheckAll_Click"//点击事件 /> <MenuItem Header="全不选" Click="cmUnCheckAll_Click"//点击事件 > </MenuItem> </ContextMenu> </DataGrid.ContextMenu>
cs逻辑端代码:
/// <summary> /// 右键全选事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmCheckAll_Click(object sender, RoutedEventArgs e) { foreach (TForwardDefineViewModel forwardDefineVM in this.forwardDefineVMs.ToList()) { forwardDefineVM.IsSelected = true; } btnCheckAll.IsChecked = true; } /// <summary> /// 右键全不选事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmUnCheckAll_Click(object sender, RoutedEventArgs e) { foreach (TForwardDefineViewModel forwardDefineVM in this.forwardDefineVMs.ToList()) { forwardDefineVM.IsSelected = false; } btnCheckAll.IsChecked = false; }
------------------------------------------------------------------------- 姜彦20170615
![](https://files-cdn.cnblogs.com/files/jiangyan219/Alipay.bmp)
您的资助是我最大的动力!
金额随意,欢迎来赏!
![](https://files-cdn.cnblogs.com/files/jiangyan219/WeChat.bmp)
我写的东西能让你能懂,那是义务
毕竟占用了你生命中的宝贵的时间和注意力
要是你还能喜欢我的作品,那就是缘分了
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【青青子衿】!