[英]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.