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 という名前のプロパティを含むオブジェクトに設定することを前提としています。

編集

組み込みの grouping を使用するには、 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 に答える