Эквивалент селектора wpf является типом элемента управления, и стиль может быть нацелен только на один.
Для данного элемента управления может применяться только один стиль.
Стили могут быть унаследованы от базового стиля с использованием basedon .
Обычно стили в словарях ресурсов помещаются и объединяются там, где это необходимо - часто это app.xaml, поэтому стилизация используется во всем приложении.
Однако можно применить стилирование в ресурсах указанного c элемента управления или родителя. Например:
<Window.Resources>
<Style x:Key="BaseStyle" TargetType="Control">
<Setter Property="Background" Value="Red"/>
</Style>
<Style TargetType="DataGrid" BasedOn="{StaticResource BaseStyle}"/>
<Style TargetType="Menu" BasedOn="{StaticResource BaseStyle}"/>
</Window.Resources>
Выбранный тип таргетинга должен иметь свойство, которое вы хотите установить sh. Это также применимо в тех случаях, когда вы наследуете с использованием basedon.
Нет "каскадного" стилей.
Есть несколько сложностей.
WPF применяет значение из стиль для свойства зависимости. У DP есть множество дополнительных функций, и одно из этих свойств - «Наследуется». Вы можете установить значение для родителя, и оно наследуется по визуальному дереву элементов управления. Вот как шрифт и текстовый текст, примененный к окну, распространяются вплоть до его потомков.
Таким образом наследуются только некоторые DP, но те, которые предлагают удобный способ применить значение к содержимому всего контейнера.
В целом, совершенно очевидно, что CSS более гибок в этом отношении.
Стоит отметить, что в wpf есть и другие механизмы, которые предлагают гибкость. Это выходит за рамки просто установки фона чего-либо, но я думаю, что у вашего вопроса просто есть фон для простоты.
WPF имеет:
Шаблоны данных - которые могут создавать настолько богатый, насколько вы можете себе представить, кусок пользовательского интерфейса когда представлен фрагмент данных определенного типа c.
Элементы управления пользователя (страницы и т. д. c) - которые инкапсулируют пользовательский интерфейс с возможностью повторного использования.
Триггеры, триггеры данных и визуальный менеджер состояний - который позволяет вам устанавливать или анимировать значения для свойств зависимостей условно.
Поскольку элементы управления WPF «не выглядят» и их шаблоны определены в xaml, вы можете делать некоторые довольно удивительные вещи. Подобно шаблону переключателя в качестве текстового блока и переключать его текст при нажатии. Некоторые последствия этого очень сильны. Некоторые противоречат интуиции. https://social.technet.microsoft.com/wiki/contents/articles/29866.aspx