给定一个非常基本的 Grid
,将 ColumnDefinition
的宽度设置为 *
,其中包含的按钮的硬编码宽度属性将被忽略并且这些子元素被剪裁。当宽度设置为自动
时,它们不会被剪裁。
如果在每个ColumnDefinition
上设置了正确的MinWidth
,则可以防止这种剪裁,但这并不完全是动态的。
我做错了什么还是这是 WPF 提供的最好的功能?
变成了
标记:
<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>
我希望按钮在有空间时按第一张图像显示,在没有空间时按图像三显示(即在任何情况下都不会剪切)。
最佳答案
只需向网格添加一个 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/