私はアイテムのコレクションを持っています。ObservableCollection<Channel> Channels;
それぞれChannel
に名前とカテゴリのプロパティが含まれています。このコレクションをListView
. また、カテゴリエキスパンダーをクリックして、チャンネルの名前を含むチャンネル リストを表示したいと考えています。
アドバイスをいただけますか?
私はアイテムのコレクションを持っています。ObservableCollection<Channel> Channels;
それぞれChannel
に名前とカテゴリのプロパティが含まれています。このコレクションをListView
. また、カテゴリエキスパンダーをクリックして、チャンネルの名前を含むチャンネル リストを表示したいと考えています。
アドバイスをいただけますか?
単一のチャネルの 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 という名前のプロパティを含むオブジェクトに設定することを前提としています。
編集
このサンプルを確認してみてください:http://msdn.microsoft.com/en-us/library/ms771309 (v = VS.90).aspx 、これにより、続行する方法がある程度明確になると思います。