0

WhatsApp와 같은 채팅 응용 프로그램을 만들고 있습니다. 이것은 내가 좋아 내가 만들고 싶어 레이아웃,XAML의 중첩 그룹화 된 목록보기

  • Me (정적 HeaderText에)
    • MyInformation (프로필 이미지와 이름)
  • Favorites (정적 HeaderText에)
    • 입니다 친구 정보 (프로필 이미지 및 이름)
    • 내 즐겨 찾기 친구
  • Friends (정적 HeaderText에)
    • A
      • 내 친구 정보 (그의 이름은로 시작)
      • 내 친구
    • B
      • 나는 Grid3 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> 

그리고 이것은 결과입니다. enter image description here

그러나 알다시피, 내가 처음 예상 한 것은 작동하지 않습니다.

첫 번째 문제는 each listview이 자체 ScrollView입니다.
외부 스크롤보기이 필요합니다. 이 문제를 해결하기 위해 listviews 외부에서 StackPanel을 사용하려고했습니다. 그러나 scrollview가 사라졌습니다.

두 번째 것은 third listview 아래로 스크롤하면 헤더 텍스트 Friends도 스크롤됩니다. 그것은해서는 안됩니다.

중첩 된 CollectionViewSource을 사용할 수 있다면 가능할 수 있습니다. 하지만 저는 그런 인터셉트가 없다고 생각합니다.
이 구조를 어떻게 레이아웃해야합니까? 어떤 경험이나 아이디어?

P.S 대상 플랫폼은 Windows Phone 8.1입니다. 하지만 WinRT 응용 프로그램에서 화면 캡처하여 스크롤바를 보여줍니다.

답변

0

1- 전체 스크롤의 경우 하나의 생각은 모든 페이지에 하나의 스크롤이있는 경우 스크롤보기 컨트롤에 기본 격자를 추가 할 수 있다는 것입니다.

여기가 어떻게됩니까?

<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> 
관련 문제