Wpf 达到子控件的特定高度时显示网格行并调整其大小
我似乎无法正确使用网格。我需要一个有两行的布局,第一行有一个基于子网格高度的动态高度。第二行包含两个按钮,这一行的恒定高度为30像素。当子网格的内容尚未达到842像素的高度时,窗口应压缩以适合内容。否则,它将根据子栅格的高度展开 如果子网格的内容达到842像素,我只想为第一个网格行显示一个滚动条 我已经和MinHeight和MaxHeight玩过了,但是到目前为止没有任何效果。现在,滚动条显示得太晚,并且当子网格中没有内容时,窗口不会压缩Wpf 达到子控件的特定高度时显示网格行并调整其大小,wpf,layout,grid,nested,scrollviewer,Wpf,Layout,Grid,Nested,Scrollviewer,我似乎无法正确使用网格。我需要一个有两行的布局,第一行有一个基于子网格高度的动态高度。第二行包含两个按钮,这一行的恒定高度为30像素。当子网格的内容尚未达到842像素的高度时,窗口应压缩以适合内容。否则,它将根据子栅格的高度展开 如果子网格的内容达到842像素,我只想为第一个网格行显示一个滚动条 我已经和MinHeight和MaxHeight玩过了,但是到目前为止没有任何效果。现在,滚动条显示得太晚,并且当子网格中没有内容时,窗口不会压缩 <Grid> <Grid.R
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition MaxHeight="35px" Height="35*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ScrollViewer Grid.Row="0" Grid.Column="0" VerticalScrollBarVisibility="Auto" MinHeight="842px" Margin="0,0,0,13" Grid.RowSpan="2">
<Grid>
<Grid.ColumnDefinitions>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
</Grid.RowDefinitions>
//Many controls here...
</Grid>
</ScrollViewer>
<Button Grid.Column="0" Grid.Row="1"></Button>
<Button Grid.Column="0" Grid.Row="1"></Button>
</Grid>
//这里有很多控件。。。
编辑:添加一张图片进行澄清
像这样吗
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
Title="MainWindow" SizeToContent="WidthAndHeight">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="35" />
</Grid.RowDefinitions>
<ScrollViewer Background="Yellow" Grid.Row="0" VerticalScrollBarVisibility="Auto" MaxHeight="842" Margin="0,0,0,13">
<Grid>
<Rectangle Fill="Red" Width="100" Height="300" HorizontalAlignment="Center" VerticalAlignment="Center"></Rectangle>
</Grid>
</ScrollViewer>
<Button Grid.Row="1">But</Button>
</Grid>
</Window>
但是
如果这样做,我看不到子网格的内容。窗口压缩得很好,但压缩到只能看到带按钮的行。子网格?你是说那个长方形的。如果删除矩形,窗口将缩小到按钮的大小。如果此值太小,请在ScrollViewer中添加一个最小高度。好的,罪魁祸首是窗口的最大高度。我昨天没有注意到,但它被设置为842px,当我这样做时,我不记得XD。不知何故,这导致子网格的内容消失。当我删除最大高度时,它起作用了