Поделиться через


Стили и шаблоны элемента Window

В этом разделе описываются стили и шаблоны для элемента управления Window. Можно изменять свойства ControlTemplate, заданные по умолчанию, чтобы придать элементу управления уникальный внешний вид. Дополнительные сведения см. в разделе Создание шаблона для элемента управления.

Части окна

У элемента управления Window нет именованных компонентов.

Состояния окна

В следующей таблице представлены визуальные состояния для элемента управления Window.

Имя VisualState Имя VisualStateGroup Description
Действительно ValidationStates Элемент управления использует класс Validation, и присоединенное свойство Validation.HasError имеет значение false.
InvalidFocused ValidationStates Присоединенное свойство Validation.HasError имеет значение true, если у элемента управления есть фокус.
InvalidUnfocused ValidationStates Присоединенное свойство Validation.HasError имеет значение true, если у элемента управления нет фокуса.

Окно ControlTemplate

В следующем примере немного изменена копия шаблона по умолчанию для Window элемента управления:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Style x:Key="WindowStyle1" TargetType="{x:Type Window}">
        <Setter Property="Foreground"
                Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"/>
        <Setter Property="Background"
                Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Window}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">
                        <AdornerDecorator>
                            <ContentPresenter/>
                        </AdornerDecorator>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <Trigger Property="Window.ResizeMode"
                     Value="CanResizeWithGrip">
                <Setter Property="Template"
                        Value="{StaticResource WindowTemplateKey}"/>
            </Trigger>
        </Style.Triggers>
    </Style>

</ResourceDictionary>

См. также