Ich arbeite an einer WinRT-App, die eine Listview enthält. Die Listview ist kürzlich gewachsen und ich muss eine vertikale Bildlaufleiste darum legen. Bisher habe ich die Höhe im Grid auf 500 fest codiert. Allerdings möchte ich wissen, wie man die Höhe einstellt, um zu erkennen, wieviel Platz verfügbar ist. Dies kann abhängig vom verwendeten Gerät variieren. Wie mache ich das?Scrollen einer ListView - Bildschirmhöhe Erkennung benötigt
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="500"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal">
<TextBlock Text="*" FontSize="40" FontWeight="Bold" Foreground="Red"/>
<TextBlock Text=" = Required " FontSize="20"/>
</StackPanel>
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto" >
<ListView
ItemsSource="{Binding Path=Survey.SelectedSection.Questions, Mode=TwoWay}"
IsSwipeEnabled="False"
SelectionMode="None"
Background="White"
ItemTemplateSelector="{StaticResource ResourceKey=QuestionDisplay}"
ItemContainerStyle=
"{StaticResource ResourceKey=QuestionListViewItemContainerStyle}" />
</ScrollViewer>
</Grid>
ListView hat bereits einen ScrollViewer in seiner Vorlage eingebettet. Entfernen Sie einfach den übergeordneten ScrollViewer, den Sie jetzt dort haben, und stellen Sie die Höhe Ihrer zweiten Zeile auf "Height =" * "' ein und sie wird aufgerufen, da sie standardmäßig auf "Auto" eingestellt ist. –
ScrollViewer.VerticalScrollBarVisibility ist standardmäßig Auto. Wenn die Rolle nicht aufgerufen wird, lautet meine nächste Frage: Gibt es Elterncontainer, von denen dieses Gitter ein Kind ist, wie StackPanel? Weil diese Art der Sache auch dazu führen würde, dass sie das Scrollen nicht aufruft. –
Sie haben Recht. Es gab einen Stackpanel Elternteil und jetzt habe ich es los, es funktioniert. Also vielen Dank dafür. – arame3333