2016-02-29 6 views
1

Итак, у меня есть ScrollView с StackPanel. Внутри StackPanel у меня есть три ListViews с разными List<object>-sources.Получить высоту всех детей ListViews

Я хочу добиться того, чтобы отключить прокрутку в ListViews и прокручивать их все в одном ScrollView.

Я получаю что-то, что немного прокручивает okey, когда я жестко указываю высоту прокрутки, но если я этого не делаю, он только отскакивает назад, чтобы начать после того, как я отпущу палец. Как я могу достичь высоты?

Текущий XAML:

<Style x:Key="ListViewHeaderDisableScroll" TargetType="ListView"> 
       <Setter Property="ScrollViewer.VerticalScrollMode" Value="Disabled" /> 
       <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Disabled" /> 
       <Setter Property="ScrollViewer.IsVerticalRailEnabled" Value="False" /> 
      </Style> 

     <Page 
     x:Class="TestApp.SecondaryView.PatientDetailView" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:ViewModels="using:TestApp.ViewModel"  
     mc:Ignorable="d"> 

     <Page.DataContext> 
      <ViewModels:PatientDetailViewModel /> 
     </Page.DataContext> 
     <Grid Background="White"> 
      <StackPanel Orientation="Vertical"> 
       /* Menu-Grid*/ 



       <ScrollViewer VerticalScrollMode="Enabled" VerticalScrollBarVisibility="Hidden" IsVerticalRailEnabled="True" Height="800"> 
        <StackPanel Name="StackPanel_Lists"> 
         <ListView Style="{StaticResource ListViewHeaderDisableScroll}" ItemsSource="{Binding DummyProblems}" Background="White"> 
          <ListView.Header> 
          <StackPanel Style="{StaticResource ListViewHeaderStackPanel}"> 
           <TextBlock Text="HEADER 1" FontSize="18" Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0"/> 
           <SymbolIcon Symbol="Play" Foreground="White" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,0,10"/> 
          </StackPanel> 
         </ListView.Header> 
         <ListView.ItemTemplate> 
           <DataTemplate x:DataType="ViewModels:PatientDetailViewModel"> 
            <Grid> 
            <Grid.RowDefinitions> 
             <RowDefinition Height="*"></RowDefinition> 
             <RowDefinition Height="*"></RowDefinition> 
            </Grid.RowDefinitions> 
            <Grid.ColumnDefinitions> 
             <ColumnDefinition Width="*"></ColumnDefinition> 
            </Grid.ColumnDefinitions> 
            <TextBlock FontSize="20" Grid.Row="0" Foreground="DimGray" Margin="5,5,5,5" Text="{Binding Note}"></TextBlock> 
            <TextBlock FontSize="15" Grid.Row="1" Foreground="DimGray" Margin="5,5,5,5" Text="{Binding Fo}"></TextBlock> 
           </Grid> 
          </DataTemplate> 
         </ListView.ItemTemplate> 
         </ListView> 
         <ListView Style="{StaticResource ListViewHeaderDisableScroll}" ItemsSource="{Binding DummyMeasures}" Background="White"> 
         <ListView.Header> 
          <StackPanel Background="DarkGray" Orientation="Horizontal" FlowDirection="LeftToRight" Padding="8,8,8,8"> 
           <TextBlock Text="HEADER 2" FontSize="18" Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0"/> 
           <SymbolIcon Symbol="Play" Foreground="White" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,0,10"/> 
          </StackPanel> 
         </ListView.Header> 
         <ListView.ItemTemplate> 
          <DataTemplate x:DataType="ViewModels:PatientDetailViewModel"> 
           <Grid> 
            <Grid.RowDefinitions> 
             <RowDefinition Height="*"></RowDefinition> 
             <RowDefinition Height="*"></RowDefinition> 
            </Grid.RowDefinitions> 
            <TextBlock FontSize="20" Grid.Row="0" Foreground="DimGray" Margin="5,5,5,5" Text="{Binding Description}"></TextBlock> 
            <TextBlock FontSize="15" Grid.Row="1" Foreground="DimGray" Margin="5,5,5,5" Text="{Binding Note}"></TextBlock> 
           </Grid> 
          </DataTemplate> 
         </ListView.ItemTemplate> 
        </ListView> 
         <ListView Style="{StaticResource ListViewHeaderDisableScroll}" ItemsSource="{Binding DummyGoals}" Background="White"> 
         <ListView.Header> 
          <StackPanel Background="DarkGray" Orientation="Horizontal" FlowDirection="LeftToRight" Padding="8,8,8,8"> 
           <TextBlock Text="HEADER 3" FontSize="18" Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0"/> 
           <SymbolIcon Symbol="Play" Foreground="White" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,0,10"/> 
          </StackPanel> 
         </ListView.Header> 
         <ListView.ItemTemplate> 
          <DataTemplate x:DataType="ViewModels:PatientDetailViewModel"> 
           <Grid> 
            <Grid.RowDefinitions> 
             <RowDefinition Height="*"></RowDefinition> 
             <RowDefinition Height="*"></RowDefinition> 
            </Grid.RowDefinitions> 
            <TextBlock FontSize="20" Grid.Row="0" Foreground="DimGray" Margin="5,5,5,5" Text="{Binding Description}"></TextBlock> 
            <TextBlock FontSize="15" Grid.Row="1" Foreground="DimGray" Margin="5,5,5,5" Text="{Binding Fo}"></TextBlock> 
           </Grid> 
          </DataTemplate> 
         </ListView.ItemTemplate> 
        </ListView> 
        </StackPanel> 
       </ScrollViewer> 
       </StackPanel> 
     </Grid> 

ответ

0

Так что я нашел это:

StackPanel снаружи ог все сделал все испортит. Я изменил его на Grid и сделал ScrollView *. Сейчас все работает

Смежные вопросы