user1307149
user1307149

Reputation: 1415

Treeview Bindings Not Showing Second level

Hello I have a treeview that I am trying to diplay 2 levels deep.

The second level is not displaying

Here is the class and Collection from my VM

public class BuildTree
{
   public int Id { get; set; } 
   public string Groups { get; set; }
   public IEnumerable<myAreas> Areas { get; set; }               
}                       
//Areas has a name property I want to show on the second level under the group

public ObservableCollection<BuildTree> MyObsvCollection
{
    get { return _myCollection; }
}

Here is my Xaml

<TreeView ItemsSource="{Binding MyObsvCollection}">
    <TreeView.ItemTemplate>
        <HierarchicalDataTemplate>
            <TextBlock Foreground="Red" Text="{Binding Groups}" />
            <HierarchicalDataTemplate.ItemTemplate>
                <HierarchicalDataTemplate ItemsSource="{Binding Areas}">
                    <TextBlock Text="{Binding Name}" />
                </HierarchicalDataTemplate>
            </HierarchicalDataTemplate.ItemTemplate>
        </HierarchicalDataTemplate>
    </TreeView.ItemTemplate>
</TreeView>

Upvotes: 0

Views: 186

Answers (1)

dkozl
dkozl

Reputation: 33384

Your HierarchicalDataTemplate has no items to display. You should move ItemsSource to outer HierarchicalDataTemplate and then ItemTemplate can be simple DataTemplate

<HierarchicalDataTemplate ItemsSource="{Binding Areas}">
    <TextBlock Foreground="Red" Text="{Binding Groups}" />
    <HierarchicalDataTemplate.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Name}" />
        </DataTemplate>
    </HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>

Upvotes: 1

Related Questions