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


Стили и шаблоны окон

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

Части окна

Элемент управления Window не содержит именованных частей.

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

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

Имя VisualState Имя VisualStateGroup Описание
Действительный Состояния проверки Элемент управления использует класс Validation, а присоединенное свойство Validation.HasError является false.
НедействительныйФокус Состояния проверки Присоединенное свойство Validation.HasErrortrue имеет фокус элемента управления.
НедействительныйБезФокуса Состояния проверки Присоединенное свойство 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>

См. также