У меня небольшие проблемы с контекстным меню, которое я пытаюсь создать в XAML.Это должно быть довольно просто, просто список пунктов меню, со случайными разделителями.
Я смог правильно расположить его, все элементы находятся в правильном месте, и теперь я перехожу кстиль и тематика.Мы создаем тему, выставляя ряд именованных кистей, которые меняются на уровне приложения, поэтому в моих стилях для элементов управления contextmenu, menuitem и разделителя я связываю эти имена как динамические ресурсы.Пока что все это стандартно.
Проблема, с которой я сталкиваюсь, заключается в том, что для моих разделителей в левой части контекстного меню есть часть пространства, которая не показывает тот же фонкак остальная часть меню, которое очень визуально отвлекает.Вы можете увидеть пример и представить, как это становится хуже на наших темных темах!

И в нашем темном стиле:

Вот стиль, который я использую для contextmenu и разделителя:
<Style TargetType="{x:Type ContextMenu}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{DynamicResource HighlightBrush}"/>
</Trigger>
<DataTrigger Binding="{Binding ContextMenu.IsOpen,RelativeSource={RelativeSource Mode=Self}}" Value="True">
<Setter Property="Background" Value="{DynamicResource HighlightBrush}"/>
</DataTrigger>
</Style.Triggers>
<Setter Property="Background" Value="{DynamicResource BackgroundLight}" />
<Setter Property="Foreground" Value="{DynamicResource ForegroundText}" />
<Setter Property="BorderThickness" Value="1" />
</Style>
<Style x:Key="{x:Static MenuItem.SeparatorStyleKey}" TargetType="{x:Type Separator}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Separator}">
<Grid Margin="0,6,0,4" SnapsToDevicePixels="true">
<Rectangle Margin="30,0,1,1" Height="1" Fill="{DynamicResource BackgroundLight}"/>
<Rectangle Margin="30,1,1,0" Height="1" Fill="{DynamicResource ContextMenuSeparator}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Я понятия не имею, откуда взялась эта проклятая вещь, и когда я отслеживаю визуальное дерево приложения, я просто вижу ContentPresenter с белым Canvas, который я не знаю, как удалить.Кто-нибудь видел это раньше?