首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网格忽略WPF中的ClipToBounds。

网格忽略WPF中的ClipToBounds。
EN

Stack Overflow用户
提问于 2016-03-29 11:28:10
回答 2查看 2K关注 0票数 2

给定一个非常基本的Grid,将ColumnDefinition的宽度设置为*,则忽略包含在其中的按钮的硬编码宽度属性,并剪切这些子元素,而不是将它们的宽度设置为Auto

如果在每个MinWidth上设置了正确的ColumnDefinition,则会防止此裁剪,但这并不完全是动态的。

我是做错了什么,还是这是最好的WPF必须提供?

变成了

标记:

代码语言:javascript
复制
    <Grid ShowGridLines="True" ClipToBounds="False">
        <Grid.ColumnDefinitions>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
        </Grid.ColumnDefinitions>
            <Button Grid.Column="0" Width="120">AAAAA</Button>
            <Button Grid.Column="1" Width="120">BBBB</Button>
            <Button Grid.Column="2" Width="120">CCCCC</Button>
    </Grid>

我希望按钮在有空间时按照第一张图像显示,在没有任何情况下(即没有剪裁)时作为图像三出现。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-29 12:07:28

啊,我已经解决了如下问题:

关键是MinWidth属性在ColumnDefinition中。

代码语言:javascript
复制
 <Grid ShowGridLines="True">
        <Grid.ColumnDefinitions>
            <ColumnDefinition MinWidth="{Binding Path=ActualWidth, ElementName=spLeft }"></ColumnDefinition>
            <ColumnDefinition MinWidth="{Binding Path=ActualWidth, ElementName=spMid }"></ColumnDefinition>
            <ColumnDefinition MinWidth="{Binding Path=ActualWidth, ElementName=spRight }"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <StackPanel Background="Red" Grid.Column="0" Name="spLeft" HorizontalAlignment="Center">
            <Button  Width="120">AAAAA</Button>
        </StackPanel>
        <StackPanel Background="Green" HorizontalAlignment="Center" Grid.Column="1" Name="spMid">
            <Button  Width="120">BBBB</Button>
        </StackPanel>
        <StackPanel Background="Blue" Name="spRight" Grid.Column="2" HorizontalAlignment="Center">
            <Button  Width="120">CCCCC</Button>
        </StackPanel>
    </Grid>
票数 1
EN

Stack Overflow用户

发布于 2016-03-29 12:06:08

只需向网格添加一个MinWidth:

代码语言:javascript
复制
<Grid ShowGridLines="True" ClipToBounds="False" MinWidth="360">
    <Grid.ColumnDefinitions>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition></ColumnDefinition>
    </Grid.ColumnDefinitions>
        <Button Grid.Column="0" Width="120">AAAAA</Button>
        <Button Grid.Column="1" Width="120">BBBB</Button>
        <Button Grid.Column="2" Width="120">CCCCC</Button>
</Grid>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36282993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档