GridSplitter无法正确分割。

我有以下网格
<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时,它并没有真正拆分行,似乎网格高度变大了。     
已邀请:
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
或固定值,以避免任何奇怪的行为:)     

要回复问题请先登录注册