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