Один прием, который я использовал в прошлом: в вашем ResourceDictionary
, который определяет общие стили для вашего приложения, добавьте x:Key
к стилю, от которого вы хотели бы унаследовать, вот так:
<Style TargetType="{x:Type Button}" x:Key="ButtonStyle">
<!-- your style here -->
</Style>
Чтобы применить этот стиль ко всем элементам управления указанного типа (Button
в этом примере) без необходимости явно устанавливать атрибут Style
каждого Button
, добавьте еще один стиль, который BasedOn
этот стиль, но не нет ключа:
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ButtonStyle}" />
Используя этот метод, все Button
в вашем приложении автоматически наследуют ваш пользовательский стиль, но вы все равно можете создавать дополнительные стили BasedOn
запись ButtonStyle
и избегать сноса всех ваших пользовательских стилей.