Путаница с атрибутом "BasedOn"

У меня есть решение с 3 проектами

  • Приложение WPF (ссылается на другие 2 и добавляет тему в App.Resources)
  • Библиотека CustomControl
  • Индивидуальная тема

Тема содержит следующий стиль кнопок

<Style TargetType="{x:Type Button}">
    <Setter Property="BorderBrush"
            Value="Green" />
</Style>

Библиотека Control содержит следующее:

<Style TargetType="{x:Type Button}"
       BasedOn="{StaticResource {x:Type Button}}"
       x:Key="ButtonStyle">
    <Setter Property="Padding"
            Value="50" />
</Style>

<Style TargetType="{x:Type local:CustomControl1}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type local:CustomControl1}">
                <Button Style="{StaticResource ButtonStyle}"/>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Что в библиотеке элементов управления вычисляет 'BasedOn="{StaticResource {x:Type Button}}"?

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

Может кто-нибудь объяснить правила поиска здесь?

0 ответов

Другие вопросы по тегам