Я стилизовал свои элементы управления Menu / ContextMenu / MenuItem в App.xaml, чтобы эти стили применялись ко всему моему приложению.
определяется следующим образом (например, с помощью MenuItem):
<Style TargetType="{x:Type MenuItem}">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="True"/>
<!-- more setters -->
</Style>
это прекрасно работает.
Теперь, в какой-то момент у меня есть RichTextBox, и я бы хотел, чтобы его ContextMenu и MenuItems имели другой стиль.
Итак, я написал:
<RichTextBox>
<RichTextBox.ContextMenu>
<ContextMenu>
<MenuItem Command="Undo" Style="{StaticResource menuItem}">Toto</MenuItem>
<MenuItem Command="Redo"/>
<Separator/>
<MenuItem Command="Cut"/>
<MenuItem Command="Copy"/>
<MenuItem Command="Paste"/>
<MenuItem Command="SelectAll"/>
</ContextMenu>
</RichTextBox.ContextMenu>
<!-- and here the RichTextBox's conent -->
</RichTextBox>
и сейчас я пытаюсь выяснить, куда я могу поместить свой новый стиль ... Проблема в том, что я не могу понять: неважно, где и как я его добавляю (статический ресурс на RichTextBox или на ContextMenu, с явным ключом или просто targetType), я не могу избавиться от своего «глобального» стиля. А местный просто игнорируется.
как я могу продолжить?