Wpf 具有圆角的多个嵌套边框。如何?

Wpf 具有圆角的多个嵌套边框。如何?,wpf,xaml,Wpf,Xaml,我想显示由多个不同颜色的边框和圆角包围的内容。我尝试使用角半径,但在嵌套边界上永远无法获得完美的角(即与父边界的角相邻)。在这种情况下,如果有的话,推荐的做法是什么? 以下是我尝试的: <Border Grid.Row="1" Grid.Column="1" CornerRadius="3" BorderThickness="3" BorderBrush="#FAFAFA"Background="#FAFAFA" Margin="40,40,40,40" Padding="0">

我想显示由多个不同颜色的边框和圆角包围的内容。我尝试使用角半径,但在嵌套边界上永远无法获得完美的角(即与父边界的角相邻)。在这种情况下,如果有的话,推荐的做法是什么? 以下是我尝试的:

<Border Grid.Row="1"  Grid.Column="1" CornerRadius="3" BorderThickness="3" BorderBrush="#FAFAFA"Background="#FAFAFA" Margin="40,40,40,40" Padding="0">
        <Border.Effect>
            <DropShadowEffect Color="#1f40618c" />
        </Border.Effect>
        <StackPanel>
            <Border CornerRadius="3" BorderThickness="3" BorderBrush="#696B6D" Background="#696B6D"  Margin="0" Padding="0" >
                <Border CornerRadius="2.3" BorderThickness="3" BorderBrush="Black" Margin="0" Padding="32,32,32,16" Background="#102F8C">
                    <Grid />
                </Border>
            </Border>
        </StackPanel>
    </Border>


谢谢。

您必须考虑到
边框厚度增加了边框控件的总宽度或高度。您可以将其视为边界线的一半位于控件内部,另一半位于控件外部。另一方面,
拐角半径
是相对于边界线的中心给出的

因此,内半径和外半径之间的差值应等于两个边界厚度的一半(加上外部
填充
和内部
边距

嵌套边框的
边框厚度
各为3,外部
拐角半径
也为3,这将导致内部
拐角半径
为0

您只需将内部
拐角半径设置为某个合理的值,并将外部的值加上3即可:

<Border BorderBrush="Blue" BorderThickness="3" CornerRadius="6">
    <Border BorderBrush="Red" BorderThickness="3" CornerRadius="3">

    </Border>
</Border>