WPF: Как мне наследовать значения свойств для всех дочерних элементов управления? - PullRequest
0 голосов
/ 10 сентября 2009

У меня есть UserControls, содержащие другие элементы управления. Я хочу, чтобы, если я установил цвет переднего плана для UserControl, все дочерние элементы управления автоматически наследовали его. У меня та же проблема со стилем шрифта / размером.

Могу ли я установить эти свойства как-нибудь автоматически / наследовать? Возможно ли установить все субконтроли без цикла?

Ответы [ 2 ]

3 голосов
/ 10 сентября 2009

Вы можете создавать словари ресурсов для глобального определения стилей по умолчанию.

Вы также можете ссылаться на словарь ресурсов или определять стиль в любом объекте.

В любом случае эти стили будут применяться ко всем дочерним объектам, которые не имеют явно определенного стиля ...

Пример:

<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>
1 голос
/ 10 сентября 2009

Изучите использование стилей и настроек BasedOn.

Я недавно написал пример чего-то похожего, расположенного здесь . К сожалению, вопрос был связан с Silver Lite, поэтому не ответил на него, но я думаю, что он может дать вам некоторые идеи о том, где искать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...