我有下面的表格
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>我的GridSplitter在第3行(第4行),定义如下:
<GridSplitter Grid.Row="3"
ResizeDirection="Rows"
Style="{StaticResource HorizontalGridSplitter}"
IsTabStop="False" />
<Style x:Key="HorizontalGridSplitter"
TargetType="{x:Type GridSplitter}">
<Setter Property="Height"
Value="4" />
<Setter Property="HorizontalAlignment"
Value="Stretch" />
<Setter Property="VerticalAlignment"
Value="Stretch" />
<Setter Property="Margin"
Value="0" />
</Style>当我拖动拆分来拆分第2/4行时,它并没有真正地拆分行,看起来网格高度变大了。
发布于 2011-04-14 04:28:09
GridSplitter有三种不同的调整大小行为,如下所示:

GridSplitter根据选定的高度和可用空间重新调整指定的两列/行的大小,在本例中,您为前一行指定了* ResizeBehaviour,为后一行指定了自动高度,这意味着它只能调整前一行的大小,后一行将始终保持Auto

要解决此问题,您必须将前面的行和后面的行设为Width="*",并将调整大小的行为设置为ResizeBehavior="PreviousAndNext"。请参阅以下代码片段:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<GridSplitter Grid.Row="3" ResizeDirection="Rows"
Style="{StaticResource HorizontalGridSplitter}"
IsTabStop="False" HorizontalAlignment="Stretch"
ResizeBehavior="PreviousAndNext" />
</Grid>最好将所有其他行的高度设置为Auto或固定值,以避免任何奇怪的行为:)
https://stackoverflow.com/questions/5654467
复制相似问题