Demonstra Passo a passo: Estilo do conteúdo do Windows Presentation Foundation

Essa explicação passo a passo mostram como aplicar estilos a um controle hospedado em um Windows Form Windows Presentation Foundation (WPF).

Nesta explicação passo a passo, você executa as seguintes tarefas:

  • Criar o projeto.

  • Cria os tipos de controle WPF.

  • Aplicar um estilo para o controle WPF.

Observação:

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritas na Ajuda, dependendo das configurações ativas ou configurações de edição.Para alterar as configurações, escolher Importar e exportar configurações on the Ferramentas menu.Para obter mais informações, consulte Configurações do Visual Studio.

Pré-requisitos

Para completar este passo a passo, são necessários os seguintes componentes:

  • Visual Studio 2008.

Criando o projeto

A primeira etapa é criar um projeto de Formulário Windows.

Observação:

Ao hospedar WPF conteúdo, apenas os projetos translation from VPE for Csharp e Visual Basic são suportados.

Para criar o projeto

Criando o tipo de controle WPF

Após adicionar um tipo de controle WPF para o projeto, você pode hospedá-lo em um ElementHost controle.

Para criar tipos de controle WPF

  1. Adicione um novo UserControl WPF ao projetoUse o nome padrão para o tipo de controle, UserControl1.xaml.Para obter mais informações, consulte Demonstra Passo a passo: Criação de conteúdo do novo Windows Presentation Foundation em Windows Forms em time de design.

  2. No modo de exibição de design, veja se UserControl1 está selecionada.Para obter mais informações, consulte Como: Selecionar e mover os elementos na superfície de design.

  3. Na janela Propriedades, defina o valor das properties Width e Height como 200.

  4. Adicionar um System.Windows.Controls.Button o controle para o UserControl e conjunto o valor da Content propriedade para cancelar.

  5. Adicionar um segundo System.Windows.Controls.Button o controle para o UserControl e defina o valor da Content propriedade para OK.

  6. Crie o projeto.

Aplicar um estilo a um controle WPF

Você pode aplicar outro estilo a um controle WPF para alterar sua aparência e comportamento.

Aplicar um estilo a um controle WPF

  1. Abra Form1 no Windows Forms Designer.

  2. Na caixa Toolbox, clique duas vezes em UserControl1 para criar uma instância de UserControl1 sobre o formulário.

    Uma instância de UserControl1 está hospedada em um novo controle ElementHost chamado elementHost1.

  3. No painel de marcas inteligentes para elementHost1, clique em Editar Host conteúdo a partir de drop-down list.

    UserControl1 é aberta no WPF Designer.

  4. No modo de exibição XAML, inserir o seguinte XAML após o marca de abertura para <UserControl>.

    Este XAML cria um preenchimento gradual com uma borda de gradiente de contraste.Quando o controle é clicado, Os gradientes são alterados para gerar uma aparência botão pressionado.Para obter mais informações, consulte Styling and Templating.

[xaml]

    <UserControl.Resources>
        <LinearGradientBrush x:Key="NormalBrush" EndPoint="0,1" StartPoint="0,0">
            <GradientStop Color="#FFF" Offset="0.0"/>
            <GradientStop Color="#CCC" Offset="1.0"/>
        </LinearGradientBrush>
        <LinearGradientBrush x:Key="PressedBrush" EndPoint="0,1" StartPoint="0,0">
            <GradientStop Color="#BBB" Offset="0.0"/>
            <GradientStop Color="#EEE" Offset="0.1"/>
            <GradientStop Color="#EEE" Offset="0.9"/>
            <GradientStop Color="#FFF" Offset="1.0"/>
        </LinearGradientBrush>
        <LinearGradientBrush x:Key="NormalBorderBrush" EndPoint="0,1" StartPoint="0,0">
            <GradientStop Color="#CCC" Offset="0.0"/>
            <GradientStop Color="#444" Offset="1.0"/>
        </LinearGradientBrush>
        <LinearGradientBrush x:Key="BorderBrush" EndPoint="0,1" StartPoint="0,0">
            <GradientStop Color="#CCC" Offset="0.0"/>
            <GradientStop Color="#444" Offset="1.0"/>
        </LinearGradientBrush>
        <LinearGradientBrush x:Key="PressedBorderBrush" EndPoint="0,1" StartPoint="0,0">
            <GradientStop Color="#444" Offset="0.0"/>
            <GradientStop Color="#888" Offset="1.0"/>
        </LinearGradientBrush>
        
        <Style x:Key="SimpleButton" TargetType="{x:Type Button}" BasedOn="{x:Null}">
            <Setter Property="Background" Value="{StaticResource NormalBrush}"/>
            <Setter Property="BorderBrush" Value="{StaticResource NormalBorderBrush}"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Button}">
                        <Grid x:Name="Grid">
                            <Border x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}"/>
                            <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True"/>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsPressed" Value="true">
                                <Setter Property="Background" Value="{StaticResource PressedBrush}" TargetName="Border"/>
                                <Setter Property="BorderBrush" Value="{StaticResource PressedBorderBrush}" TargetName="Border"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </UserControl.Resources>

[xaml]

<Button Height="23" Margin="41,52,98,0" Name="button1" VerticalAlignment="Top"
                Style="{StaticResource SimpleButton}">Cancel</Button>

Consulte também

Conceitos

XAML Overview

Styling and Templating

Referência

ElementHost

WindowsFormsHost

Outros recursos

Migração e Interoperabilidade

Usando Controles Windows Presentation Foundation

WPF Designer