有没有办法让GridSplitter不要将元素推出窗口? [英] Is there a way to have the GridSplitter not to push elements out of the window?

查看:105
本文介绍了有没有办法让GridSplitter不要将元素推出窗口?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用下面的XAML时,我将GridSplitter向左拖动,将元素从窗口中移出。
如何保留窗框内的所有元素?

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

< Button Grid.Column =0Content =0/>
< Button Grid.Column =1Content =1/>
< Button Grid.Column =2Content =2/>
< GridSplitter Grid.Column =1Width =5Horizo​​ntalAlignment =Left/>
< / Grid>

谢谢

解决方案 div>

我知道解决问题的唯一方法是将网格的左右两列的width属性设置为 Width =*并给GridSplitter自己的列设置一个Horizo​​ntalAlignment设置为 Horizo​​ntalAlignment =Stretch。您的代码最终会看起来像这样。

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

< Button Grid.Column =0Content =0/>
< GridSplitter Grid.Column =1Width =5Horizo​​ntalAlignment =Stretch/>
< Button Grid.Column =2Content =1/>
< Button Grid.Column =3Content =2/>
< / Grid>


With the XAML below when I drag the GridSplitter to the left it pushes elements out of the window. How can I keep all elements within the window frame?

<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>

Thanks

解决方案

The only way I know to solve your problem is have the columns that are left and right of your gridsplitter have the width property set as Width="*" and give the GridSplitter its own column with a HorizontalAlignment set as HorizontalAlignment="Stretch". Your code would then end up looking like this.

<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>  

这篇关于有没有办法让GridSplitter不要将元素推出窗口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆