写在前面:使用传统的TreeView,要增加个小功能,如三状态的TreeItem,经常都是需要很高的编程技术和大量的代码。而在.net新的界面设计中平台中,这个事情是很容易的,你要做的事就是发挥自己的想像力,组装手头上的小组件。
效果图
下图的图标功能,不是使用winform平台的ImageList和TreeView的组合做出来的,而是通过继承和自定义
TreeViewItem实体的效果,并且,代码量还真是少,关键点在于,TreeViewItem的Header的属性是object,也就是相当于别
的控件的Content,object表示,你可以任意放内容进去。
源代码
既然可以任意放内容进Header属性,那就放一个容器进去也没问题。正是出于这个想法,就放在一个StackPanel,它的内部
依次是TextBlock和Image,然后为Image指定设置的属性SelectedImage和UnselectedImage,这是
System.Windows.Media.ImageSource类型的对象。
最后,在项目中放一些图片来使用。如在根目录下,放一个Images文件夹,下面放多个图片。这个图片的生成操作都是嵌入的资源。
for (int i = 0; i < 10; i++)
{
ImagedTreeViewItem _pitem = new ImagedTreeViewItem();
_pitem.Text = "测试分支" + i;
_pitem.SelectedImage = new BitmapImage(
new Uri("pack://application:,,/Images/OPENFOLD.BMP"));
_pitem.UnselectedImage = new BitmapImage(
new Uri("pack://application:,,/Images/CLSDFOLD.BMP"));
treeView1.Items.Add(_pitem);
for (int j = 0; j < 5; j++)
{
ImagedTreeViewItem _item = new ImagedTreeViewItem();
_item.Text = "测试分支" + j;
_item.SelectedImage = new BitmapImage(
new Uri("pack://application:,,/Images/OPENFOLD.BMP"));
_item.UnselectedImage = new BitmapImage(
new Uri("pack://application:,,/Images/CLSDFOLD.BMP"));
_pitem.Items.Add(_item);
}
}
分享到:
相关推荐
WPF 自定义TreeViewItem的样式 CSDN 博客中有界面展示 http://blog.csdn.net/lvguoshan/article/details/40624961
有时候我们需要在...最基本的思路是,在TreeView右键点击的事件发生时,我们遍历它所有的Item,包括子Item,获取Item所对应的TreeViewItem控件的边界Rect,然后调用Rect的Contains方法判断鼠标是否在该范围内。
基于UGUI开发的树形菜单,能够实现自动排布,自适应布局等,能够节约您大量的开发时间无版本限制,现在降价大促销!!!
WPF / MVVM控件,用于在其他元素(例如TreeViewItem或ListViewItem)之上实现文本框(用例:对显示的项目进行就地编辑) 用例:就地编辑 此项目中包含的就地编辑文本控件可以用作开发应用程序的基础,在该应用程序...
delphi xe5 Firemonkey的几个特色属性
觉得树控件的背景白色太单调了?这个类可以非常方便简单的帮您的树控件加上背景图片,让您的界面更加美观:)
PB带复选框的树形控件PB带复选框的树形控件PB带复选框的树形控件PB带复选框的树形控件PB带复选框的树形控件PB带复选框的树形控件PB带复选框的树形控件
WPF TreeView拖拽节点变换位置
评论WPF TreeView的高级布局自定义。
一个很漂亮的WPF TreeView例子,里面有一个网页文件,它可以帮助你理解该程序。
树状结构的wpf TreeView 演示代码
截面很漂亮的treeview(wpf) 直接运行 代码简单易懂 我是个初学者 对我的帮助很大
当子节点被选中时父节点也会呈现选中状态,通过资源字典引用即可
这个简单的WPF用户控件允许使用HierarchicalDataTemplate在TreeView控件中就地编辑特定项目的标头
带CheckBox的TreeView,可以在点击CheckBox或者TreeViewItem的时候改变勾选状态。
treeGrid,比较简单主要就是TreeView TreeViewItem再配合GridViewHeaderRowPresenter、GridViewRowPresenter、GridViewColumnCollection定制style基本上就可以实现以上效果
HTML代码: <!DOCTYPE html> <html> <head> <title>Vue Demo</title>...meta name=viewport content=width=device-width, initial-scale=1>... .treeviewitem-span { font-si
单击TreeViewItem时显示内容的TreeView
TreeView原始样式是不带连接的,本资源通过Style重写TreeViewItem样式,实现带连接线样式,这里提供源代码希望对各位有帮助。
之前自这里看过几个帖子,用treeviewItem来实现文件夹及其下面文件的树状形式管理,由于项目需要,本人参照形式写了一个很简单的系统。多多指教