Compartilhar via


Estilos e modelos de janela

Este tópico descreve os estilos e modelos para o Window controle. Você pode modificar o padrão ControlTemplate para dar ao controle uma aparência exclusiva. Para obter mais informações, consulte Criar um modelo para um controle.

Peças para Janelas

O Window controle não tem nenhuma parte nomeada.

Estados da janela

A tabela a seguir lista os estados visuais do Window controle.

Nome do VisualState Nome do VisualStateGroup Descrição
Válido ValidationStates O controle usa a classe e a Validation propriedade anexada Validation.HasError é false.
InvalidFocused ValidationStates A Validation.HasError propriedade anexada é true tem o controle tem foco.
InvalidUnfocused ValidationStates A Validation.HasError propriedade anexada é true tem o controle não tem foco.

Janela ControlTemplate

O exemplo a seguir é uma cópia ligeiramente modificada do modelo padrão para um Window controle:

<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>

Confira também