我有一个这样的列表视图居中:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ListView Grid.Row="1" />
</Grid>
像这样,ListView将随着其增长自动占用更多空间,并在达到表单限制时自动显示ScrollBar。
问:问:我如何才能使ListView占用所有可用的垂直空间,即使它是空的(将行0和2减少到0px)。我不想更改RowDefinition,因为实际上,我有几个视图可以显示在同一Grid中,而不是一个ListView。有些应该能够自动增长(同时保持居中状态),而另一些应该占用所有可用空间。我正在寻找类似<ListView Height="Maximum" />
之类的东西。
答案 0 :(得分:0)
您可以将窗口高度绑定到ViewModel中的属性,然后将其设置为MinHeight
的{{1}},如下所示:
ListView
然后:
<Window
...
Height="{Binding MaxHeight}">
答案 1 :(得分:0)
在许多应用程序中,我都使用了以下框架。
现在第一排和第三排占据它们所需的空间,第二排覆盖剩余的空间
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ListView Grid.Row="1" />