ВПФ:Как наследовать значения свойств всем дочерним элементам управления?
-
05-07-2019 - |
Вопрос
У меня есть UserControls, содержащие другие элементы управления.Я хочу, чтобы, если я устанавливаю цвет переднего плана для UserControl, все дочерние элементы управления автоматически наследуют его.У меня та же проблема со стилем/размером шрифта.
Могу ли я каким-то образом установить для этих свойств автоматическое/наследование?Можно ли установить все подэлементы управления без цикла?
Решение
Вы можете создавать словари ресурсов для глобального определения стилей по умолчанию.
Вы также можете ссылаться на словарь ресурсов или определять стиль в любом объекте.
В любом случае эти стили будут применяться ко всем дочерним объектам, у которых стиль не определен явно...
Пример:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<!--Default styles that will apply to any object of the specified type (if it doesn't have style set locally)-->
<Style TargetType="Label" >
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
</Style>
</ResourceDictionary>
Другие советы
Ознакомьтесь с использованием стилей и настроек BasedOn.
Недавно я написал пример чего-то похожего, расположенного