XAML中的嵌套分组ListView

XAML中的嵌套分组ListView,xaml,listview,windows-phone-8,windows-runtime,windows-phone-8.1,Xaml,Listview,Windows Phone 8,Windows Runtime,Windows Phone 8.1,我正在制作一个像WhatsApp这样的聊天应用程序。这是我想做的布局 半静态标题文本 MyInformationProfile图像和名称 收藏夹静态标题文本 我最喜欢的朋友信息个人资料图片和姓名 我最喜欢的朋友 好友静态标题文本 A. 我的朋友他的名字以A开头 我的朋友 B 我的朋友 我用3个listviewsMe、收藏夹、网格中的朋友实现了这一点 这就是结果。 但正如你所看到的,它并没有达到我最初的预期 第一个问题是,每个listview都有自己的ScrollView。 我需要一个外部滚动视

我正在制作一个像WhatsApp这样的聊天应用程序。这是我想做的布局

半静态标题文本 MyInformationProfile图像和名称 收藏夹静态标题文本 我最喜欢的朋友信息个人资料图片和姓名 我最喜欢的朋友 好友静态标题文本 A. 我的朋友他的名字以A开头 我的朋友 B 我的朋友 我用3个listviewsMe、收藏夹、网格中的朋友实现了这一点

这就是结果。

但正如你所看到的,它并没有达到我最初的预期

第一个问题是,每个listview都有自己的ScrollView。 我需要一个外部滚动视图。为了解决这个问题,我尝试在ListView的外部使用StackPanel。但是scrollview已经消失了

第二个是,当我向下滚动第三个listview时,标题文本Friends也会滚动。不应该这样

如果我可以使用嵌套的CollectionViewSource,这可能是可能的。但我认为没有像那样的接口。 我应该如何布局此结构?有什么经验或想法吗


PS的目标平台是WindowsPhone8.1。但是我在WinRT应用程序上截取了它,以显示滚动条。

1-对于整个滚动条,一个想法是您可以在scrollview控件中添加主网格,在这种情况下,所有页面都将有一个滚动条

这里是如何

<ScrollViewer>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.Resources>
    <CollectionViewSource x:Name="CollectionGroupedView" IsSourceGrouped="True" ItemsPath="Members" />
</Grid.Resources>
<Grid.RowDefinitions>
    <RowDefinition Height="Auto" />
    <RowDefinition Height="*" />
    <RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ListView Grid.Row="0" x:Name="MeView" SelectionMode="None"
    ItemTemplate="{StaticResource StandardTripleLineItemTemplate}"
    Header="Me"
    >
</ListView> ....  </Grid></ScrollViewer>
你可以试试这个: 它有一个名为TreeView的控件。也许这会有帮助

<ScrollViewer>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.Resources>
    <CollectionViewSource x:Name="CollectionGroupedView" IsSourceGrouped="True" ItemsPath="Members" />
</Grid.Resources>
<Grid.RowDefinitions>
    <RowDefinition Height="Auto" />
    <RowDefinition Height="*" />
    <RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ListView Grid.Row="0" x:Name="MeView" SelectionMode="None"
    ItemTemplate="{StaticResource StandardTripleLineItemTemplate}"
    Header="Me"
    >
</ListView> ....  </Grid></ScrollViewer>