У меня есть две Границы друг на друга.Один с BorderThickness, но без фона, другой без толщины границы, но с фоном.Обе границы имеют угловой угол 3. Проблема в том, что угол фона одной из границ торчит из-за угла другой границы.
ЗдесьXAML с первым элементом границы, имеющим фон, и Border с именем FocusVisual, имеющим BorderThickness.
<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>
CornerRadius, оказывающий различное влияние на фон и границу объекта Border, выглядит как ошибка в WPF.
Я мог бы добавить BorderThickness к границе с фоном и установить BorderBrush на цвет фона, но это заставит BorderThickness выдвигать дочерние элементы этой границы.Я, вероятно, могу обойти это, переставив элементы, но это отчасти боль, поэтому я подумал, что увижу, есть ли у кого-нибудь лучший обходной путь.