我有一个带有圆角的边框元素,包含一个3x3网格.网格的角落伸出边界.我该如何解决这个问题?我尝试使用ClipToBounds但没有得到任何结果.谢谢你的帮助
我有一个简单的窗口,包含一个带有圆角半径的外边框和一个带背景的内边框.边框基本上只是我想放置在圆角外边框内的任何类型内容的占位符.
<Window x:Class="TestRunner.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" AllowsTransparency="True"
WindowStyle="None" Background="{x:Null}" >
<Border BorderThickness="2" BorderBrush="Black" CornerRadius="8" >
<Border Background="White">
</Border>
</Border>
</Window>
Run Code Online (Sandbox Code Playgroud)
问题是内部控件没有继承圆角,所以它绘制在圆角的顶部,如下所示:

如何调整外部控件,因此内部控件不会尝试在圆角上绘制.
在内部控件上设置圆角不是一个可行的选项,因为它会导致角半径的可怕重复.
我需要创建一个圆形ProgressBar模板.
ControlTemplate:
<ControlTemplate TargetType="{x:Type ProgressBar}">
<Grid x:Name="TemplateRoot" SnapsToDevicePixels="true">
<Rectangle x:Name="PART_Track" Margin="1" Fill="White" />
<Border x:Name="PART_Indicator" HorizontalAlignment="Left" Margin="1" >
<Grid x:Name="Foreground" >
<Rectangle x:Name="Indicator" Fill="{TemplateBinding Background}" />
<Grid x:Name="Animation" ClipToBounds="true" >
<Rectangle x:Name="PART_GlowRect" Fill="#FF86C7EB"
HorizontalAlignment="Left" Margin="-100,0,0,0" Width="100"/>
</Grid>
</Grid>
</Border>
<Border x:Name="roundBorder" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="10" />
<TextBlock />
</Grid>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)
这导致:

PART_Indicator左边的LightBlue矩形在哪里(它的宽度在ProgressBar控件内部设置,如此处所示,值为20)和roundBorder.
我需要的是PART_Indicator剪辑它roundBorder,导致类似于: