我刚刚开始尝试使用 gridsplitters 并且偶然发现了一个非常奇怪的行为,我似乎无法修复它。显然其他人也有类似的问题(根据谷歌),但没有有用的评论。
我有一个有 2 行的网格。启动时,底部的 aHight
为 250。顶行的其余部分为*
。当我使用拆分器调整行的大小时,第一行的行为与预期的一样。但是当我向上拖动拆分器并通过程序窗口时,底行的内容将从窗口中掉出(=向下移动直到它消失)。我希望我不能使每一行都大于父容器。
<Grid x:Name="grid_main" ScrollViewer.VerticalScrollBarVisibility="Disabled" >
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition MinHeight="250" Height="250"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<GridSplitter x:Name="splitter"
ResizeDirection="Rows" Grid.Column="0" Grid.ColumnSpan="1" Grid.Row="0" Width="Auto"
Height="5" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="0" ResizeBehavior="BasedOnAlignment" />
<Grid Grid.Column="0" Grid.Row="0">
</Grid>
<Grid Grid.Column="0" Grid.Row="1">
</Grid>
</Grid>
这是我的代码。两行的内容再次托管在网格中,为简单起见已被删除。再次:调整顶行的大小可以正常工作。但底行可以调整为无穷大。如果我硬编码一个MaxHeight
. 但这必须取决于窗口大小。