2 つの Border が重なり合っています。1 つは BorderThickness があるが背景がない、もう 1 つは境界線の太さがないが背景がある。両方の Border の CornerRadius は 3 です。問題は、一方の Border の Background の角が、もう一方の Border の角の後ろから突き出ていることです。
これは、背景を持つ最初の境界要素と、BorderThickness を持つ FocusVisual という名前の境界線を持つ XAML です。
<Grid x:Name="grid">
<Border Background="{TemplateBinding Background}"
CornerRadius="3">
<Grid>
<Border x:Name="MouseOverVisual"
Opacity="0"
Background="{StaticResource NuiFieldHoverBrush}"
CornerRadius="3" />
<Border>
<Grid>
<ScrollViewer x:Name="PART_ContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
<ContentPresenter x:Name="PART_WatermarkHost"
Content="{TemplateBinding Watermark}"
ContentTemplate="{TemplateBinding WatermarkTemplate}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
IsHitTestVisible="False"
Margin="{TemplateBinding Padding}"
Visibility="Collapsed"/>
</Grid>
</Border>
</Grid>
</Border>
<Border x:Name="FocusVisual"
Opacity="0"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{StaticResource NuiFocusBrush}"
CornerRadius="3" />
</Grid>
Border オブジェクトの Background と Border に異なる効果を持つ CornerRadius は、WPF のバグのようです。
BorderThickness を Border に Background とともに追加し、BorderBrush を Background 色に設定することもできますが、これにより、その Border の子要素が BorderThickness によって押し込まれます。要素を再配置することでおそらくこれを回避できますが、それはちょっと面倒なので、誰かがより良い回避策を持っているかどうかを確認したいと思いました.