WPF 控件专题 TreeView控件详解

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”

    

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

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值