看起来很简单,但难以置信。
我想要这样的布局:
ListView
它应该占据最大按钮高度(可见按钮的数量是动态的)。
我试过这个
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
...
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel>
<Button/>
<Button/>
...
</StackPanel>
<ListView Grid.Column="1"/>
</Grid>
</Grid>
问题:ListView
有一个非常奇怪的行为来调整内容的大小。如果我添加了很多项目,那么它突然占用了所有窗口空间。
问题:如何将ListView
高度限制为不超过按钮总高度(StackPanel
高度)?
P.S。:mvvm,所以纯xaml是优选的。
P.S.S。:我觉得这将是某种东西的束缚。但是到底是什么?答案 0 :(得分:1)
您只需要将ActualHeight
的{{1}}数据绑定到StackPanel
,以便ListView.Height
赢得比ListView
更大的数据{&#39; s Button
:
StackPanel
答案 1 :(得分:1)
您可以将较低内容网格的MaxHeight
属性绑定到按钮ActualHeight
的{{1}}。此外,您需要将按钮面板的StackPanel
设置为VerticalAlignment
。
这样,您可以垂直添加更多部件,但仍然坚持按钮面板高度。
Bottom