c# - 网格忽略 WPF 中的 ClipToBounds

标签 c# wpf clipping

给定一个非常基本的 Grid,将 ColumnDefinition 的宽度设置为 *,其中包含的按钮的硬编码宽度属性将被忽略并且这些子元素被剪裁。当宽度设置为自动时,它们不会被剪裁。

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

我做错了什么还是这是 WPF 提供的最好的功能?

enter image description here

变成了

enter image description here

标记:

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

我希望按钮在有空间时按第一张图像显示,在没有空间时按图像三显示(即在任何情况下都不会剪切)。

enter image description here

最佳答案

只需向网格添加一个 MinWidth:

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

关于c# - 网格忽略 WPF 中的 ClipToBounds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36282993/

相关文章:

Android:clipChildren 导致自定义 View 的背景绘制全屏高度

flutter 剪辑,剪辑的小部件周围没有空间

c# - 如何处理鼠标事件

c# - set { return; 的目的是什么? }?

c# - WPF 如何动态创建文本框并在单击按钮时找到文本框?

c# - 项目不会出现在 C# 中的 ListBox 中,但在 XAML 中会出现

html5-canvas - Fabricjs - 如何仅剪辑选定的对象?

c# - 从 .cs 调用 Javascript 函数

c# - 将 silverlight 文件 (xaml) 移动到不同的项目,现在代码隐藏无法识别控件

C# 和 WPF - 'System.Reflection.TargetInvocationException' 发生在PresentationFramework.dll 中