title: Using different templates for different levels of the tree
body: <p>i want to Display a treeview bound to a Model
  It works but:</p>
  
  <pre><code>&lt;TreeView ItemsSource="{Binding Items}"&gt;
              &lt;TreeView.ItemContainerStyle&gt;
                  &lt;Style TargetType="{x:Type TreeViewItem}" &gt;
                      &lt;Style.Triggers&gt;
                          &lt;Trigger Property="HasItems" Value="true"&gt;
                              &lt;Setter Property="Focusable" Value="False"/&gt;
                          &lt;/Trigger&gt;
                      &lt;/Style.Triggers&gt;
                  &lt;/Style&gt;
              &lt;/TreeView.ItemContainerStyle&gt;
                  &lt;TreeView.ItemTemplate&gt;
                  &lt;HierarchicalDataTemplate ItemsSource="{Binding SubNodes}"&gt;
                      &lt;Grid&gt;
                          &lt;Grid.ColumnDefinitions&gt;
                              &lt;ColumnDefinition Width="20"/&gt;
                              &lt;ColumnDefinition/&gt;
                          &lt;/Grid.ColumnDefinitions&gt;
                          &lt;CheckBox Grid.Column="0"/&gt;
                          &lt;TextBlock Text="{Binding Text}" Grid.Column="1"/&gt;
                      &lt;/Grid&gt;
                  &lt;/HierarchicalDataTemplate&gt;
              &lt;/TreeView.ItemTemplate&gt;
          &lt;/TreeView&gt;
  </code></pre>
  
  <p>I want to have three Templates : one for the rootitem , a second for the subnodes and a third for subnodes but alternative to the other template.</p>