0

我有一个项目集合。ObservableCollection<Channel> Channels;

每个都Channel包含名称类别属性。我想在ListView. 另外,我想单击类别扩展器,然后显示带有频道名称的频道列表。

你能给我一些建议吗?

4

2 回答 2

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 的属性的对象。

编辑

您可能还想查看 CollectionViewSource 以使用内置分组

于 2012-05-18T07:41:20.373 回答
0

您可以尝试查看此示例: http: //msdn.microsoft.com/en-us/library/ms771309 (v=VS.90).aspx ,我认为这应该让您清楚地了解如何继续。

于 2012-05-18T07:34:01.087 回答