TreeView binding issue in WPF
Consider the following data structure:
List<Person> People;
class Person {
开发者_StackOverflowList<Car> Cars;
List<Hobby> Hobbies;
}
I want to bind a TreeView to this structure. And it should look like this:
People
> Frank
> Cars
> BMW
> Ford
> Hobbies
> Tennis
> Golf
> Jane
> Cars
> Hobbies
How can this be achieved in XAML? Here's what I've got so far:
<TreeView>
<TreeView.Resources>
<DataTemplate x:Key="PersonTemplate">
<TextBlock Header="{Binding Name}">
<TextBlock.ContextMenu>
<ContextMenu>
<MenuItem Header="Remove" />
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</DataTemplate>
</TreeView.Resources>
<TreeViewItem Header="{Binding Name}"IsExpanded="True" >
<TreeViewItem Header="People"
ItemsSource="{Binding People}"
ItemTemplate="{StaticResource PersonTemplate}">
</TreeViewItem>
</TreeViewItem>
</TreeView>
This is a follow up question to binding-a-treeview-with-contextmenu-in-xaml
This is a great way to get started using MVVM for treeview binding:
http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx
精彩评论