簡體   English   中英

Grid內的StackPanel里面的ListView沒有縮放

[英]ListView inside StackPanel inside Grid doesn't scale

在Windows 8.1應用程序(.NET 4.5)中,我(通過兩個模板,因為Binding)一個Grid,其中包含一個包含ListView的StackPanel。 問題是,ListView不會擴展可用空間,而是顯示滾動條。

<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>

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>

和第二個ListView的模板

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

截圖: 截圖

我希望帶有滾動條的ListView具有適合內容的大小比例,並且只有在屏幕空間用完時才滾動。

這是一個非常普遍的問題......在StackPanel 調整其內容,就像一個適合家長控制Grid一樣。 解決方案很簡單......不要使用StackPanel除了最簡單的排除一些控制任務。 而不是使用Grid ,它將自動適應父控件提供的所有空間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM