наследование свойств wpf - PullRequest
0 голосов
/ 12 августа 2010

Я хочу задать вопрос об этом коде, его простом коде XAML, как показано ниже.

<Window x:Class="WpfApplication15.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525" Background="Orange" FontStyle="Italic">
<StackPanel>
    <Label>blo</Label>
    <Button>hi</Button>
    <Button>hi2</Button>
</StackPanel>
</Window>

Итак, мы можем просто представить, что фон меток оранжевый, но цвет фона кнопки не будет оранжевым, будет по умолчанию, но все элементы управления FontStyle будут выделены курсивом, поэтому вопрос в том! почему fontstyle всех элементов управления под root влияет на это, но фон кнопки не влияет ??

Ответы [ 2 ]

0 голосов
/ 12 августа 2010

Это определение шаблона кнопки по умолчанию, Microsoft_Windows_Themes: ButtonChrome добивается цели

                    <ControlTemplate TargetType="{x:Type Button}">
                    <Microsoft_Windows_Themes:ButtonChrome x:Name="Chrome" SnapsToDevicePixels="true" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" RenderDefaulted="{TemplateBinding IsDefaulted}" RenderMouseOver="{TemplateBinding IsMouseOver}" RenderPressed="{TemplateBinding IsPressed}">
                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" RecognizesAccessKey="True"/>
                    </Microsoft_Windows_Themes:ButtonChrome>
0 голосов
/ 12 августа 2010

Я полагаю, что шаблон ControlTemplate кнопки явно задает кисть фона в соответствии с инструкциями для пользовательского интерфейса Windows. Поэтому свойство-наследование нарушается для Control.BackgroundProperty.

Чтобы доказать это, возможно этот инструмент поможет.

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