WPF 控件专题 TreeView控件详解

news2024/10/7 18:32:11

1、TreeView介绍   

    命名空间:System.Windows.Controls

    TreeView 表示一个控件,该控件在树结构(其中的项可以展开和折叠)中显示分层数据。 

    TreeView 是一个 ItemsControl,这意味着它可以包含任何类型的对象的集合 (,例如字符串、图像或面板) 。

    TreeView内容是TreeViewItem可以包含丰富内容的控件,例如Button和Image控件。 A TreeViewItem 可以包含一个或多个 TreeViewItem 对象作为其后代。 A TreeView 定义为对象的层次结构 TreeViewItem 。

    可以通过 TreeView 绑定到数据源和使用 HierarchicalDataTemplate 对象来填充其树。 数据源的示例包括 XmlDataProvider 和 ObservableCollection<T> 对象。

**************************************************************************************************************

2、常用属性介绍

    FontFamily:字体系列;    FontSize:字体大小;    FontStretch:字体在屏幕上紧缩或加宽的程度;FontWeight:字体粗细;
    
    Background:背景;    BorderBrush:边框颜色;    BorderThickness:边框宽度;    Foreground:前景色;
    
    Width/Height:宽度/高度;    Name:元素标识名称;    IsEnabled:使能,是否可用;    Margin:外边距;
    
    Opacity:透明度;    Visibility:可见性;    IsVisible:是否可见;    FlowDirection:其子元素的流动方向;
    
    LayoutTransform:在执行布局时应该应用于此元素的图形转换方式。    RenderTransform:元素的呈现位置的转换信息;
    
    DataContext:获取或设置元素参与数据绑定时的数据上下文。
    
    HasItems:获取一个值,该值指示 ItemsControl 是否包含项。
    
    RenderTransformOrigin:由RenderTransform声明的任何可能呈现转换的中心点,相对于元素的边界。
    
    HorizontalAlignment/VerticalAlignment:在父元素中组合此元素时所应用的水平对齐特征/垂直对齐特征。
    
    HorizontalContentAlignment/VerticalContentAlignment:控件内容的水平对齐方式/垂直对齐方式。

    Items:获取用于生成 ItemsControl 的内容的集合。ItemTemplate:获取或设置用来显示每个项的 DataTemplate。
    
    ItemsPanel:获取或设置模板,该模板定义对项的布局进行控制的面板。
    
    ItemsSource:获取或设置用于生成 ItemsControl 的内容的集合。

    SnapsToDevicePixels:获取或设置一个值,该值确定在呈现过程中,此元素的呈现是否应使用特定于设备的像素设置。    

    SelectedItem:获取或设置当前选择中的第一项,或者,如果选择为空,则返回 null。

    SelectedValue:获取或设置通过使用 SelectedItem 而获取的 SelectedValuePath 的值。

    SelectedValuePath:获取或设置用于从 SelectedValue 获取 SelectedItem 的路径。

**************************************************************************************************************

3、具体代码示例

<TreeView Height="150" Width="200" Margin="10" Background="#555a64" Foreground="#dddddd" BorderBrush="Gray" BorderThickness="1">
	<TreeViewItem Header="Employee1" IsExpanded="True" Focusable="True" IsSelected="True">
		<TreeViewItem Header="Jesper"/>
		<TreeViewItem Header="Aaberg"/>
		<TreeViewItem Header="12345"/>
	</TreeViewItem>
	<TreeViewItem Header="Employee2">
		<TreeViewItem Header="Dominik"/>
		<TreeViewItem Header="Paiha"/>
		<TreeViewItem Header="98765"/>
	</TreeViewItem>
</TreeView>

**************************************************************************************************************

4、效果图

    

**************************************************************************************************************

5、总结和扩展

    TreeView 控件中,子项Children节点也要写成通知形式,否则后台数据添加,但是不通知UI更改,使用“ObservableCollection<TemplateNode> Children”

    

**************************************************************************************************************

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/25160.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进程的通信 - WM_COPYDATA

在Windows程序中&#xff0c;各个进程之间常常需要交换数据&#xff0c;进行数据通讯。其中使用SendMessage向另一进程发送WM_COPYDATA消息是一种比较经济实惠的方法。 WM_COPYDATA通信需要将传递的消息封装在COPYDATASTRUCT结构体中&#xff0c;在SendMessage消息传递函数时作…

[附源码]java毕业设计校园超市进销存管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

基于PETALINUX的以太网调试

1、建立工程 2、编译工程&#xff0c;导出xsa文件 3、建立petalinux工程 4、生成boot和image.ub文件&#xff0c;将文件复制到系统为fat32的sd卡中。 5、插上串口&#xff0c;插上网线 6、vm中需要桥接网络&#xff0c;有正确的IP地址 7、通过串口&#xff0c;配置板卡的以太…

前端面试题(JS部分)

目录一&#xff0c; 数据类型1&#xff0c;什么是引用类型&#xff0c;值类型&#xff1f;2&#xff0c;哪些值类型3&#xff0c;哪些引用类型4&#xff0c;判断数据类型5&#xff0c;typeof判断6&#xff0c;instanceof7&#xff0c;construtor二&#xff0c;浅拷贝 / 深拷贝1…

好物推荐:文字转语音朗读软件哪个好?

不知道大家有没有像我一样的&#xff0c;对“语音播放”、“语音朗读”是又爱又恨的。有时工作繁忙&#xff0c;而同事或客户发来语音资料需要整理时&#xff0c;就会很烦躁&#xff0c;因为语音的整理起来比文字的繁琐一些。而像有时在家休息&#xff0c;还得看一些资料时&…

亚马逊鲲鹏系统之亚马逊买家号养号时需要注意哪些?

经常做亚马逊测评的朋友应该都清楚&#xff0c;亚马逊买家号养号是很有必要的&#xff0c;如果一个新买家号没有养过号就进行刷单测评&#xff0c;那么是很容易就死号了的。但是想要养好号也不是那么容易的&#xff0c;需要注意好多问题。 第一&#xff1a;养号的重点是号&…

Linux 软连接与硬链接

文件链接概念介绍&#xff1a; 软连接文件&#xff1a; 概念介绍&#xff1a;用于存放指向源文件的路径信息&#xff08;文件快捷方式&#xff09; 应用场景&#xff1a;对于要操作文件数据提供方便 硬链接介绍 硬链接不能跨分区创建 补充&#xff1a; 1.目录硬链接数代…

k8s-List机制及resourceVersion语义

kube-apiserver 核心职责 提供Restful API&#xff1b;代理集群组件&#xff0c;如dashboard、流式日志、kubectl exec 会话&#xff1b;缓存全量的etcd 数据且无状态服务可水平扩展。 kube-List操作 绝大部分情况下&#xff0c;kube-apiserver 都会直接从本地缓存提供服务&…

MybatisX插件 逆向工程

MybatisX插件 逆向工程 目录MybatisX插件 逆向工程安装插件使用插件安装插件 File->Settings->Plugins 使用插件 点击DataSource->点击“” 点击DataSource->点击MySQL 驱动选择MySQL for 5.1 输入主机IP、端口号、数据库的用户名和密码->点击Test Connec…

浅谈系统架构设计-从架构设计原理、架构设计原则、架构设计方法展开

我们工作中一直强调要做架构设计、系分&#xff0c;最近前端同学在追求前端质量提升的时候&#xff0c;也在进行架构设计、前端系分的推广&#xff0c;那到底什么是架构设计和系分&#xff1f;该怎么做架构设计和系分&#xff1f;本文尝试对架构设计进行全面的介绍和分享&#…

【机器学习】SVM入门-硬间隔模型

本站原创文章&#xff0c;转载请说明来自《老饼讲解-机器学习》ml.bbbdata.com 目录 一. SVM的目标和思想 1.1 SVM硬间隔模型的原始目的 1.2 SVM的直接目标 1.3 什么是支持向量 二. SVM的支持平面的表示方式 2.1 支持面表示方式的初步思路 2.2 初步思路的缺陷与改进 2…

基于Vue+ElementUI+MySQL+Express的学生管理系统(2)

2.搭建Express Web服务器 1.在E:\vue\shiyan9路径下创建score-server的文件夹放置Express Web服务器的相关文件。 图3 初始化package.json的信息 2.用Vscode打开score-server。并创建如图4所示的项目结构图。 以下目录中的文件依次为&#xff1a; 考试信息增删改查的接口。…

【BP回归预测】改进的鲸鱼算法优化BP神经网络回归预测(多输入单输出)【含Matlab源码 2184期】

⛄一、鲸鱼算法优化BP神经网络简介 1 鲸鱼优化算法&#xff08;Whale Optimization Algorithm&#xff0c;WOA&#xff09;简介 鲸鱼优化算法(WOA)&#xff0c;该算法模拟了座头鲸的社会行为&#xff0c;并引入了气泡网狩猎策略。 1.1 灵感 鲸鱼被认为是世界上最大的哺乳动物…

DBCO-mPEG,5 kDa,二苯并环辛炔-MPEG, 5 KDA白色结晶状

●外观以及性质&#xff1a; DBCO-mPEG,5 kDa白色结晶状&#xff0c;其的分子量有多种&#xff0c;10kDa&#xff0c;20kDa&#xff0c;30kDa等一系列的。DBCO活化的聚乙二醇化试剂通过无铜“点击化学”反应与叠氮化物反应&#xff0c;形成稳定的三唑&#xff0c;不需要铜催化剂…

evpp mingw64编译过程

evpp是奇虎360的基于libevent的网络通讯库&#xff0c;源代码不错&#xff1a; https://github.com/Qihoo360/evpp/blob/master/readme_cn.md 它提供vs的编译结构&#xff0c;我用的是mingw64cmake&#xff0c;使用gnu12&#xff0c;把修改过程分享给大家。 步骤1. 修改CMake…

软考中级系统集成项目管理工程师自学好不好过?

可以试试&#xff0c;中级系统集成算是比较好考的一科目&#xff0c;每天的通过率都有30%的&#xff01;是软考中通过率比较高的。 至于是否自学&#xff0c;有时间有精力就可以自学&#xff0c;在校生一般学习时间多&#xff0c;可以各个渠道搜集信息资料&#xff0c;可以自学…

高分子PEG点击试剂DBCO-PEG20K-OMe,二苯并环辛炔-PEG20K-甲基

DBCO-PEG20K-OMe​产品描述&#xff1a; DBCO-PEG20K-OMe属于高分子PEG点击试剂&#xff0c;DBCO 试剂是一类点击化学标记试剂&#xff0c;含有非常活泼的 DBCO&#xff08;&#xff08;二苯并环辛炔&#xff09;基团&#xff0c;​DBCO 试剂可以通过无铜点击化学与叠氮化物标…

vscode连接远程服务器进行cmake调试

一、cmake安装 cmake cmake-3.17.4.tar.gz : https://cmake.org/files/v3.17/cmake-3.17.4.tar.gz sudo apt-get install libssl-dev tar xvf cmake-3.17.4.tar.gz cd cmake-3.17.4 ./configure --prefix/usr make -j18 && sudo make install测试 二、配置 准备两…

如何找回删除的文件?数据恢复,看这几个方法

如果您的电脑出现了问题&#xff0c;或者是因为使用不当而删除了一些文件&#xff0c;那么您需要了解一下如何找回删除的文件。想要清理电脑文件数据&#xff0c;很多人会将其直接删除。其实这种做法是不可取的&#xff0c;因为这种做法可能会造成损失。如何找到已经删除的文件…

怎么把开源项目放到自己的github,gitee,gitea上

一、创建仓库&#xff08;大部分可以不填&#xff09; 二、删除.git文件夹 三、执行初始化命令&#xff08;初始出.git文件夹&#xff09; 在本地项目下执行命令 git init 四、与远程仓库建立关系 git remote add origin ssh://gitxx.xx.xx.xx:61022/shengbaitong/inst_ops…