Frage

In einer Windows 8.1-Anwendung (.NET 4.5) habe ich (aufgrund der Bindung über zwei Vorlagen hinweg) ein Grid, das ein StackPanel enthält, das eine ListView enthält.Die Sache ist, dass die ListView nicht mit dem verfügbaren Platz skaliert, sondern stattdessen eine Bildlaufleiste anzeigt.

<Grid DataContext="{Binding}">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/> <!-- IF I set MinHeight here, it grows -->
    </Grid.RowDefinitions>
    <TextBlock Grid.Row="0"/>
    <ListView
            Grid.Row="1"
            Margin="10"
            ItemsSource="{Binding ementas}"
            ItemTemplate="{StaticResource temp1}"
            SelectionMode="None"
            IsItemClickEnabled="False"
            IsSwipeEnabled="False">
    </ListView>
</Grid>

Vorlage für die ListView

<StackPanel Width="310" Margin="5,10,5,10" DataContext="{Binding}">
    <TextBlock Text="{Binding data}" Style="{StaticResource TitleTextBlockStyle}"/>
    <ListView SelectionMode="None"
            IsItemClickEnabled="False"
            ItemsSource="{Binding pratos}"
            ItemTemplate="{StaticResource temp2}"
            IsSwipeEnabled="False">
    </ListView>
</StackPanel>

Und die Vorlage für die zweite ListView

<TextBlock Text="{Binding descricao}"
    Margin="5"
    Style="{StaticResource BodyTextBlockStyle}"
    TextWrapping="WrapWholeWords"/>

Bildschirmfoto:Screenshot

Ich möchte, dass die Größe der ListView mit der Bildlaufleiste an den Inhalt angepasst wird und nur dann gescrollt wird, wenn nicht mehr genügend Platz auf dem Bildschirm vorhanden ist.

War es hilfreich?

Lösung

Dies ist ein äußerst häufiges Problem...Die StackPanel tut nicht Ändern Sie die Größe des Inhalts so, dass er in das übergeordnete Steuerelement passt, z Grid tut.Die Lösung ist einfach...Benutze kein a StackPanel Abgesehen von der einfachsten Aufgabe, ein paar Kontrollaufgaben aneinanderzureihen.Verwenden Sie stattdessen a Grid Dadurch wird automatisch der gesamte von den übergeordneten Steuerelementen bereitgestellte Platz ausgefüllt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top