<Border Width="100" Height="100" BorderBrush="Blue" BorderThickness="3" CornerRadius="20">
<Grid Background="Orange" Width="100" Height="100"/>
</Border>
效果:
上面的效果不是我想要的,我想要的效果是Border里面的Grid的四个解不超出Border的四个圆角,有木有哪位大虾知道如何实现?
补充一点,不能对Border设置Padding或对Border的Child设置Margin,因为这样,Border的内容在四边都会有间距,这也不是我要的结果。
grid也需要圆角
可否详细点?
Padding="20"
方法一.设置Boder对象里面的Grid对象的Margin值 :
<Border BorderBrush="blue" BorderThickness="2" HorizontalAlignment="Left" Height="100" CornerRadius="10" VerticalAlignment="Top" Width="100">
<Grid Width="100" Height="100" Background="Red" Margin="5"></Grid>
</Border>
方法二.如上位朋友所说,设置Boder对象的Padding
<Border Padding="5" BorderBrush="blue" BorderThickness="2" HorizontalAlignment="Left" Height="100" CornerRadius="10" VerticalAlignment="Top" Width="100">
<Grid Width="100" Height="100" Background="Red" ></Grid>
</Border>
这个问题嘛,其实你可以用Grid包住Border
楼上的都被绕进去了。
border设了宽高,grid也设了宽高,还怎么高margin padding???
不是楼高晕了就是我们晕了。
最后的方法就是去掉一个宽高,设置一个margin或padding。
我认为 你内部Grid是用来布局 而Border是为了使用圆角属性让其更漂亮一些, 如果想达到这个种效果, 你完全可以不给Grid设背景颜色。 设置Border的背景为你期望的Grid的颜色 然后设置圆角,如果你想要边框还可以设置其 ThicknessBrush 属性,当内部为Grid添加控件和布局是 注意内部内容不要超过Border圆角的边界就好。
<Border Width="100" Height="100" BorderBrush="Blue" BorderThickness="3" CornerRadius="20"> <Grid Background="Orange" Width="80" Height="80"/> </Border>
我觉得解决方法应该是,设置border 的clip属性。参考链接: ClipBorder: A WPF Border that clips(https://wpfspark.wordpress.com/2011/06/08/clipborder-a-wpf-border-that-clips/)