Стили WPF - Пожалуйста, помогите мне понять, почему это работает так, как работает - PullRequest
5 голосов
/ 05 июня 2011
<Style x:Key="MyStyle">
    <Setter Property="Window.Background" Value="Orange"/>
</Style>

<Button Content="Ok" Style="{StaticResource MyStyle}"/>

Почему кнопка фактически получает оранжевый фон, если установщик указан как Window.Background?

Это не дает TextBlock оранжевый фон:

<TextBlock Style="{StaticResource MyStyle}"/>

Спасибо

Ответы [ 2 ]

5 голосов
/ 05 июня 2011

Ни Button, ни Window на самом деле не определяют свойство Background, они оба наследуют его от Control.

Так что даже если вы написали Window.Background, установщик фактически связансвойство с помощью поля Control.BackgroundProperty, которое также применяется к Button.

2 голосов
/ 05 июня 2011

Это работает, потому что свойство Background присоединено к Control классу, который оба Window и Button имеют как предка

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