Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all articles
Browse latest Browse all 18858

Selected item with HierarchicalDataTemplate Treeview

$
0
0

Hello

i am beginner in C# and i need your help, please

i use a HierarchicalDataTemplate to better customize the data on my Treeview .here is  example of code i used:

<TreeView x:Name="trvFamilies" HorizontalAlignment="Left" Height="135" Margin="78,98,0,0" VerticalAlignment="Top" Width="275"><TreeView.Resources><HierarchicalDataTemplate DataType="{x:Type local:Family}" ItemsSource="{Binding Members}"><StackPanel Orientation="Horizontal"><Image Source="E:\Thing.png" Margin="0,0,5,0" /><TextBlock Text="{Binding Name}" /><TextBlock Text=" [" Foreground="Blue" /><TextBlock Text="{Binding Members.Count}" Foreground="Blue" /><TextBlock Text="]" Foreground="Blue" /></StackPanel></HierarchicalDataTemplate><DataTemplate DataType="{x:Type local:FamilyMember}"><StackPanel Orientation="Horizontal"><TextBlock Text="{Binding Name}" /><TextBlock Text="{Binding Age}" Foreground="Green" /></StackPanel></DataTemplate></TreeView.Resources></TreeView>


It works well and I created a class with the following contents:

public class Family
    {
        public Family()
        {
            this.Members = new ObservableCollection<FamilyMember>();
        }

        public string Name { get; set; }

        public ObservableCollection<FamilyMember> Members { get; set; }
    }

    public class FamilyMember
    {
        public string Name { get; set; }

        public int Age { get; set; }
		
		  public string Blog { get; set; }
    }


Then loading I use the following code to populate my treeview.

public MainWindow()
        {
            InitializeComponent();
            List<Family> families = new List<Family>();

            Family family1 = new Family() { Name = "Level 1" };
            family1.Members.Add(new FamilyMember() { Name = "James", Age = 19, Blog="http://james.blog.com" });
            families.Add(family1);

            Family family2 = new Family() { Name = "Level 2" };
            family2.Members.Add(new FamilyMember() { Name = "John", Age = 31,  Blog="http://john.blog.com"  });
            families.Add(family2);


            Family family3 = new Family() { Name = "Level 3" };
            families.Add(family3);


            Family family4 = new Family() { Name = "Level 4" };
            family4.Members.Add(new FamilyMember() { Name = "David", Age = 46,  Blog="http://david.blog.com"  });
            family4.Members.Add(new FamilyMember() { Name = "Max", Age = 37,  Blog="http://max.blog.com"  });
            families.Add(family4);
            trvFamilies.ItemsSource = families;
        }

When clicked I want to be able to retrieve the details of the Selected element.

I can not do it. 
Can you help me please.???


AS


Viewing all articles
Browse latest Browse all 18858

Trending Articles