我有一个项目集合。 ObservableCollection<Channel> Channels;
每个Channel
包含名称和类别属性。我想在ListView
中显示此集合。此外,我想点击类别扩展程序,然后显示包含频道名称的频道列表。
你能给我一些建议吗?
答案 0 :(得分:1)
为单个频道制作一个DataTemplate:
<DataTemplate x:Key="ChannelTemplate">
<Expander Header="{Binding Name}">
<ListBox ItemsSource="{Binding CategoryProperties}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding prop1}"/>
<TextBlock Text="{Binding prop2}"/>
</StackPanel>
</DataTemplate>
</ListBox>
</ListBox>
</Expander>
</DataTemplate>
然后在ListBox / View中使用它:
<ListBox ItemsSource="{Binding Channels}" ItemTemplate="{StaticResource ChannelTemplate}" />
这假定您将Window / UserControl的DataContext属性设置为包含名为Channels的属性的对象。
修改强>
您可能还想要look at CollectionViewSource to use the built-in grouping。
答案 1 :(得分:0)
您可以尝试查看此示例:http://msdn.microsoft.com/en-us/library/ms771309(v=VS.90).aspx,我认为这应该可以让您清楚了解如何继续。