有没有办法让GridSplitter不要将元素推出窗口?

elm*_*elm 7 wpf grid gridsplitter

当我将GridSplitter向左拖动时,下面的XAML会将元素推出窗口.如何将所有元素保留在窗口框架内?

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="auto"/>
        <ColumnDefinition Width="auto"/>
    </Grid.ColumnDefinitions>

    <Button Grid.Column="0" Content="0" />
    <Button Grid.Column="1" Content="1" />
    <Button Grid.Column="2" Content="2" />
    <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Left" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

谢谢

Jos*_*lin 6

我知道解决问题的唯一方法是让gridplitter的左右列都设置为width属性,Width="*"并为GridSplitter提供自己的列,并将Horizo​​ntalAlignment设置为HorizontalAlignment="Stretch".您的代码最终会看起来像这样.

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="auto"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="auto"/>
    </Grid.ColumnDefinitions>

    <Button Grid.Column="0" Content="0" />
    <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch"/>
    <Button Grid.Column="2" Content="1" />
    <Button Grid.Column="3" Content="2" />
</Grid>  
Run Code Online (Sandbox Code Playgroud)