title: Treeview vs nested Expanders
body: <p><strong>Edit 2 :</strong></p>
  
  <p>This is what i want to do with only 1 treeview :</p>
  
  <p><a href="http://img204.imageshack.us/img204/8218/sansreju.jpg" rel="nofollow noreferrer">my treeview with outlook style http://img204.imageshack.us/img204/8218/sansreju.jpg</a></p>
  
  <p><strong>Edit :</strong></p>
  
  <p>I want to know how make a treeview with different expander styles in terms of the level. I currently use nested expanders.</p>
  
  <p><strong>Original question :</strong></p>
  
  <p>I am trying to get a WPF Treeview that has differents expanders styles in terms of the level.</p>
  
  <p>What i actually have is that :</p>
  
  <p>a listview wich contains differents templates in term of the ojbect type by using a selector </p>
  
  <pre><code>&lt;ListView Name="MyTreeView" ItemTemplateSelector="{StaticResource Selector}"&gt;
  
  &lt;!-- Items Template --&gt;
  &lt;HierarchicalDataTemplate x:Key="ItemsTemplate" ItemsSource="{Binding Childrens}"&gt;
      &lt;TextBlock Text="{Binding Name}" Margin="5,0" VerticalAlignment="Center"/&gt;
  &lt;/HierarchicalDataTemplate&gt;
  
  &lt;!-- SubNode Template --&gt;
  &lt;DataTemplate x:Key="SubNodeTemplate"&gt;
      &lt;Expander Style="{StaticResource SubExpander}"&gt;
          &lt;TreeView ItemsSource="{Binding Childrens}"
                    ItemTemplateSelector="{StaticResource Selector}"/&gt;
      &lt;/Expander&gt;
  &lt;/DataTemplate&gt;
  
  &lt;!-- Node Template --&gt;
  &lt;DataTemplate x:Key="NodeTemplate"&gt;
      &lt;Expander Style="{StaticResource MainViewExpander}"&gt;
          &lt;ListView ItemsSource="{Binding Childrens}"
                    ItemTemplateSelector="{StaticResource Selector}"/&gt;
      &lt;/Expander&gt;
  &lt;/DataTemplate&gt;
  </code></pre>
  
  <p>And this is the code behind with object used for mapping :
  I got a <strong>list (of IUpSlideItem )</strong> and apply it to MyTreeview.ItemsSource</p>
  
  <pre><code>Public Interface IUpSlideItem
      Property Childrens As List(Of IUpSlideItem)
      Property Name As String
  End Interface
  
  Public Class Item
      Implements IUpSlideItem
  
      Public Property Childrens As System.Collections.Generic.List(Of IUpSlideItem) Implements IUpSlideItem.Childrens
      Public Property Name As String Implements IUpSlideItem.Name
  
  End Class
  
  Public Class Node
      Implements IUpSlideItem
  
      Public Property Childrens As System.Collections.Generic.List(Of IUpSlideItem) Implements IUpSlideItem.Childrens
      Public Property Name As String Implements IUpSlideItem.Name
  
  End Class
  </code></pre>
  
  <p>Now the question is to know if only 1 treeview with different expander style in terms of the type's item is possible. I need this because i want single item select only.</p>