Fork me on GitHub

TreeView

 

例子中给了五个树形菜单,第一个是简单的树形菜单,第二个是嵌套了按钮的树形菜单,第三个是父级是按钮,第四个是绑定了资源的树形,第五个是嵌套了图片的树形。

<Window x:Class="SimpleTreeView.Window1"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    Title="SimpleTreeView"

    >

 <Window.Resources>

    <Style TargetType="{x:Type TreeViewItem}">

      <Setter Property="Foreground" Value="Blue"/>

      <Setter Property="FontSize" Value="12"/>

    </Style>

 

    <Style TargetType="{x:Type TextBox}">

      <Setter Property="Width" Value="80"/>

      <Setter Property="TextWrapping" Value="Wrap"/>

    </Style>

    <XmlDataProvider x:Key="myEmployeeData" XPath="/EmployeeData">

      <x:XData>

        <EmployeeData xmlns="">

          <EmployeeInfo>

            <EmployeeInfoData>Employee1</EmployeeInfoData>

            <Item Type="FirstName">桂素伟</Item>

            <Item Type="LastName">刘靖凯</Item>

            <Item Type="EmployeeNumber">张三</Item>

          </EmployeeInfo>

          <EmployeeInfo>

            <EmployeeInfoData>Employee2</EmployeeInfoData>

            <Item Type="FirstName">王五</Item>

            <Item Type="LastName">赵六</Item>

            <Item Type="EmployeeNumber">李四</Item>

          </EmployeeInfo>

        </EmployeeData>

      </x:XData>

    </XmlDataProvider>  

 <HierarchicalDataTemplate DataType="EmployeeInfo"

      ItemsSource ="{Binding XPath=Item}">

      <TextBlock Text="{Binding XPath=EmployeeInfoData}" />

    </HierarchicalDataTemplate>

 

 </Window.Resources>

    <StackPanel>    

       <TextBlock>

        简单的树形</TextBlock>

      <TreeView>

        <TreeViewItem Header="Employee1">

          <TreeViewItem Header="Jesper"/>

          <TreeViewItem Header="Aaberg"/>

          <TreeViewItem Header="12345"/>

        </TreeViewItem>

       <TreeViewItem Header="Employee2">

          <TreeViewItem Header="Dominik"/>

          <TreeViewItem Header="Paiha"/>

          <TreeViewItem Header="98765"/>

        </TreeViewItem>

      </TreeView>

 

        <TextBlock>

        组合树形1

      </TextBlock>

        <TreeView>

          <TreeViewItem Header ="Employee1">

            <TreeViewItem.Items>

              <Button>Jesper</Button>

              <Button>Aaberg</Button>

              <Button>12345</Button>

            </TreeViewItem.Items>

          </TreeViewItem>

          <TreeViewItem Header="Employee2">

            <TreeViewItem.Items>

              <Button>Dominik</Button>

              <Button>Paiha</Button>

              <Button>98765</Button>

            </TreeViewItem.Items>

          </TreeViewItem>

        </TreeView>

        <TextBlock>

       组合树形2

      </TextBlock>

     <TreeView>

        <TreeViewItem>

          <TreeViewItem.Header>

            <Button>Employee1</Button>

          </TreeViewItem.Header>

          <TreeViewItem Header="Jesper"/>

          <TreeViewItem Header="Aaberg"/>

          <TreeViewItem Header="12345"/>

        </TreeViewItem>

        <TreeViewItem>

          <TreeViewItem.Header>

            <Button>Employee2</Button>

          </TreeViewItem.Header>

          <TreeViewItem Header="Dominik"/>

          <TreeViewItem Header="Paiha"/>

          <TreeViewItem Header="98765"/>

        </TreeViewItem>

      </TreeView>

        <TextBlock>

        资源绑定的树形

      </TextBlock>

      <TreeView ItemsSource="{Binding Source={StaticResource myEmployeeData},

        XPath=EmployeeInfo}"/>

      <TextBlock>

       组合树形三

      </TextBlock>

      <TreeView>

        <TreeViewItem Header="Animals">

          <TreeViewItem.Items>

          <DockPanel>

            <Image Source="data\fish.png"/>

            <TextBlock Margin="5" Foreground="Brown"

                       FontSize="12">Fish</TextBlock>

          </DockPanel>

          <DockPanel>

            <Image Source="data\dog.png"/>

            <TextBlock Margin="5" Foreground="Brown"

                       FontSize="12">Dog</TextBlock>

          </DockPanel>

          <DockPanel>

            <Image Source="data\cat.png"/>

            <TextBlock Margin="5" Foreground="Brown"

                       FontSize="12">Cat</TextBlock>

          </DockPanel>

        </TreeViewItem.Items>

        </TreeViewItem>     

      </TreeView>

 

    </StackPanel>

</Window>

posted @   桂素伟  阅读(847)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示