我有一个名为“作者”的菜单项,其菜单项ItemsSource
与一个名为ObservableCollection
的{{1}}绑定。点击作者会打开一个作者姓名列表。我需要做些什么修改才能增加菜单项的级别,简单来说,我希望显示每个作者姓名的书籍清单。
赞:
CollectionOfAuthors
这是我现有的代码:
MainWindow.xaml
Author
|__AuthorName 1
|__Book 1
|__Book 2
MainWindowViewModel.cs
<MenuItem Header="Authors" ItemsSource="{Binding CollectionOfAuthors}">
<MenuItem.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding AuthorName}" />
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
答案 0 :(得分:2)
为此使用HierarchicalDataTemplate
。
<MenuItem Header="Authors" ItemsSource="{Binding CollectionOfAuthors}">
<MenuItem.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=Books}">
<TextBlock Text="{Binding AuthorName}"/>
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding BookName}"/>
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>