我想安排2个网格(或StackPanels)包含。 Scrollviewer垂直。 它们中的每一个都应该是设备高度的50%。或者,更准确地说:它们在一个容器中,它们的高度应该是该容器高度的50%。 据我所知,我可以用像素设置高度,以及#34; auto"和" *",但不是百分比。
应该采用什么技术来实现这一目标?
我的代码到目前为止:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Pivot Title="Pivot" >
<PivotItem Header="Start">
<Grid/>
</PivotItem>
<PivotItem Header="Baustellenbegehung">
<Grid/>
</PivotItem>
<PivotItem Header="Mangelanzeige">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Vertical">
<ScrollViewer>
<StackPanel Orientation="Vertical">
<TextBlock Text="Aktuelle Mangelanzeigen" />
<ListView Name="lstMangelanzeigenAktiv" />
</StackPanel>
</ScrollViewer>
</StackPanel>
<StackPanel Grid.Row="1" Orientation="Vertical">
<ScrollViewer>
<StackPanel>
<TextBlock Text="Archiv Mangelanzeigen" />
<ListView Name="lstMangelanzeigenArchiv" />
</StackPanel>
</ScrollViewer>
</StackPanel>
</Grid>
</PivotItem>
<PivotItem Header="Zustandsfeststellungsprotokoll">
<Grid/>
</PivotItem>
</Pivot>
</Grid>
编辑:
我删除了代码并按照建议添加了.5 *但是当我填充ListView时我无法滚动它们:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height=".5*"/>
<RowDefinition Height=".5*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Vertical">
<ScrollViewer>
<StackPanel Orientation="Vertical">
<TextBlock Text="Aktuelle Mangelanzeigen" />
<ListView Name="lstMangelanzeigenAktiv" />
</StackPanel>
</ScrollViewer>
</StackPanel>
<StackPanel Grid.Row="1" Orientation="Vertical">
<ScrollViewer>
<StackPanel>
<TextBlock Text="Archiv Mangelanzeigen" />
<ListView Name="lstMangelanzeigenArchiv" />
</StackPanel>
</ScrollViewer>
</StackPanel>
</Grid>
编辑2: 这是我当前版本的屏幕截图。 我在两个ListViews中添加了20个项目,我预计会有2个滚动条(每个ListView一个):
答案 0 :(得分:2)
如果您将Grid用作容器,则可以按百分比设置行定义:
<Grid.RowDefinitions>
<RowDefinition Height=".5*"/>
<RowDefinition Height=".5*"/>
</Grid.RowDefinitions>
这意味着行占据了可用高度的50%。
编辑: 根据您的需要,您应该以这种方式解决:
<PivotItem Header="Mangelanzeige">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="TB1"/>
<ListView Grid.Row="1" VerticalAlignment="Stretch"/>
</Grid >
<Grid Grid.Row="1" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="TB2"/>
<ListView Grid.Row="1" VerticalAlignment="Stretch"/>
</Grid >
</Grid>
</PivotItem>
在这种情况下,使用StackPanel不允许您拉伸其内容,因此,listview没有伸展。