博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF自定义控件与样式(9)-树控件TreeView与菜单Menu-ContextMenu
阅读量:7069 次
发布时间:2019-06-28

本文共 2214 字,大约阅读时间需要 7 分钟。

一.前言

  申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接。

  本文主要内容

  • 菜单Menu的自定义样式;
  • 右键菜单ContextMenu的自定义样式;
  • 树控件TreeView的自定义样式,及右键菜单实现。

二.菜单Menu的自定义样式

  自定义菜单样式的效果图:

  Menu和ContextMenu样式本身很简单,他们最主要的部分就是MenuItem,MenuItem中包含的内容比较多,如图标、选中状态、二级菜单、二级菜单的指针、快捷键等。 使用了字体图标定义菜单项MenuItem样式代码:  

View Code

Menu样式:  

示例代码:  

                                                                                                                        

 

三.右键菜单ContextMenu的自定义样式

有了第二节的MenuItem样式,ContextMenu的样式很简单:  

实现一个文本操作(剪切、复制、粘贴)的样式:  

效果图:

 

四.树控件TreeView的自定义样式

4.1TreeView基本样式

TreeView的样式比较简单,相比ListBox,主要多了层级关系,节点的展开、收缩。效果图:

样式定义中默认是开启虚拟化,以支持大数据,数据不多时最好关闭。样式代码:

View Code

4.2 TreeView的右键菜单实现

  TreeView支持右键操作应该是比较常见的需求,实现很简单,效果演示:

示例代码:  

后台C#代码:  

private void TreeViewItem_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)        {            var treeViewItem = VisualUpwardSearch
(e.OriginalSource as DependencyObject) as TreeViewItem; if (treeViewItem != null) { treeViewItem.Focus(); e.Handled = true; } } static DependencyObject VisualUpwardSearch
(DependencyObject source) { while (source != null && source.GetType() != typeof(T)) source = VisualTreeHelper.GetParent(source); return source; } private void MenuItem_OnClick(object sender, RoutedEventArgs e) { var item = this.tree1.SelectedItem as NodeX; if (item != null) { MessageBoxX.Info(item.Name.ToString()); } }

 

附录:参考引用

  

版权所有,文章来源:

个人能力有限,本文内容仅供学习、探讨,欢迎指正、交流。

转载于:https://www.cnblogs.com/anding/p/4996614.html

你可能感兴趣的文章
windbg调试堆破坏
查看>>
socket异步编程--libevent的使用
查看>>
VR游戏《Space fist》更新了!增强“打击感”玩起来更带劲
查看>>
配置FTP服务(二):vsftpd部署和优化
查看>>
在C#中调用API获取网络信息和流量
查看>>
Java集合遍历引发的"血案"
查看>>
Webpack入门教程六
查看>>
编译原理:正规式转变成DFA算法
查看>>
MongoDB数据库的MapReduce简单操作(转)
查看>>
cisco图标
查看>>
java获取类的信息
查看>>
Hibernate5-进阶添加工具类,对获取Session的方法封装
查看>>
通过内存映射文件来颠倒文本内容(暂没有处理Unicode和换行符)
查看>>
Debian软件包信息查询
查看>>
天猫物流提速背后:大数据加速颠覆传统零售业
查看>>
网页优化十大策略
查看>>
为每一个table单元格设置不同的背景颜色
查看>>
盘点智能硬件中那些脑洞大开的黑科技
查看>>
[HDFS Manual] CH4 HDFS High Availability Using the Quorum Journal Manager
查看>>
maven pom.xml详解
查看>>