WhatsApp와 같은 채팅 응용 프로그램을 만들고 있습니다. 이것은 내가 좋아 내가 만들고 싶어 레이아웃,XAML의 중첩 그룹화 된 목록보기
Me
(정적 HeaderText에)- MyInformation (프로필 이미지와 이름)
Favorites
(정적 HeaderText에)- 입니다 친구 정보 (프로필 이미지 및 이름)
- 내 즐겨 찾기 친구
Friends
(정적 HeaderText에)A
- 내 친구 정보 (그의 이름은로 시작)
- 내 친구
B
- 나는
Grid
에3 listviews
(나, 즐겨 찾기, 친구)와 함께이 구현
- 나는
내 친구.
<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>
<ListView Grid.Row="1" x:Name="FavoriteView" SelectionMode="None"
ItemTemplate="{StaticResource StandardTripleLineItemTemplate}"
Header="Favorite"
>
</ListView>
<ListView Grid.Row="2" x:Name="FriendListView" SelectionMode="None"
ItemsSource="{Binding Source={StaticResource CollectionGroupedView}}"
ItemTemplate="{StaticResource StandardTripleLineItemTemplate}"
Header="Friends"
>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Key}" />
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
</ListView>
</Grid>
그리고 이것은 결과입니다.
그러나 알다시피, 내가 처음 예상 한 것은 작동하지 않습니다.
첫 번째 문제는 each listview
이 자체 ScrollView
입니다.
외부 스크롤보기이 필요합니다. 이 문제를 해결하기 위해 listviews 외부에서 StackPanel
을 사용하려고했습니다. 그러나 scrollview가 사라졌습니다.
두 번째 것은 third listview
아래로 스크롤하면 헤더 텍스트 Friends
도 스크롤됩니다. 그것은해서는 안됩니다.
중첩 된 CollectionViewSource
을 사용할 수 있다면 가능할 수 있습니다. 하지만 저는 그런 인터셉트가 없다고 생각합니다.
이 구조를 어떻게 레이아웃해야합니까? 어떤 경험이나 아이디어?
P.S 대상 플랫폼은 Windows Phone 8.1입니다. 하지만 WinRT 응용 프로그램에서 화면 캡처하여 스크롤바를 보여줍니다.