【发布时间】:2011-07-10 12:22:56
【问题描述】:
我有一个包含 ObservableCollection 的 ObservableCollection:
public class BooksDetailModel
{
public BookModel Book{ get; set; }
public ObservableCollection<AuthorModel> Authors { get; set; }
}
ViewModel 中的属性:
public ObservableCollection<BooksDetailModel> Books { get; set; }
我想像这样在 ListBox 中呈现它:
书1
- 作者1
- 作者2
书2
- 作者1
等等
顶级绑定很简单,但内部子集合有问题。
XAML 到目前为止:
<ListBox ItemsSource="{Binding Books}" BorderBrush="{x:Null}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Book.Name}" FontSize="12" FontWeight="Bold" />
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ???, Path=Author.Name}" FontSize="10" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
有什么建议吗??? - 将内部列表框 itemsource 相对绑定到父 itemsource 的 Authors 集合。
【问题讨论】:
-
你应该使用 HierarchicalDataTemplate
标签: wpf xaml data-binding