列表中的列表

时间:2012-07-31 17:59:15

标签: c# wpf xaml

我有一个联系人列表的以下用户控件

<UserControl.Content>
        <Border BorderBrush="LightBlue" BorderThickness="1,1,1,1" CornerRadius="8,8,8,8" HorizontalAlignment="Left" VerticalAlignment="Top" Width="250" Height="300" Margin="0,0,-1,0">
            <ItemsControl ItemsSource="{Binding Users}" x:Name="tStack" Grid.Column="0">
                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>
                        <StackPanel Orientation="Vertical" Height="Auto" Width="Auto" />
                    </ItemsPanelTemplate>
                </ItemsControl.ItemsPanel>
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <MenuItem MouseDoubleClick="MenuItem_MouseDoubleClick_1" Header="{Binding Username}">
                            <StackPanel HorizontalAlignment="Left" VerticalAlignment="Center" FlowDirection="LeftToRight" Orientation="Vertical">
                                <Image Width="20" Height="20" Source="C:\Users\JR-WORK\Documents\Visual Studio 2012\Projects\itControl Chat\itControl Chat\Images\green-bullet.png" />
                                <TextBlock Text="{Binding Username}" />
                            </StackPanel>
                        </MenuItem>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </Border>
    </UserControl.Content>

这很有效,并在user ObservableCollection Users中为每个ObservableCollection显示一个菜单项。现在我想添加另外UserControl个用户组,例如朋友,群组,收藏夹等等。如何在另一个绑定中进行分层以在列表中创建列表?我是否需要创建另一个包含此{{1}}的{​​{1}}作为数据模板?

1 个答案:

答案 0 :(得分:0)

如果列表中的列表是父列表项(即用户)的属性,则可以将另一个ItemsControl添加到用户的模板中。