Compartilhar via


Estilos e modelos de janela

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

Partes da janela

O controle Window não tem nenhuma parte nomeada.

Estados de janela

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

Nome do VisualState Nome do VisualStateGroup Descrição
Válido Estados de Validação O controle usa a classe Validation e a propriedade anexada Validation.HasError é false.
Foco Inválido Estados de Validação A propriedade anexada Validation.HasError é aquela em que true tem o controle com foco.
InválidoDesfocado EstadosDeValidação A propriedade anexada Validation.HasError é true, mas o controle não está com foco.

Template de Controle de Janela

O exemplo a seguir é uma cópia ligeiramente modificada do modelo padrão para um controle 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>

Consulte também