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
- Crie um novo projeto Windows Forms Application em Visual Basic ou Visual C# chamado SelectingWpfContent .Para obter mais informações, consulte Como: Criar um projeto de aplicativos do Windows.
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
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.
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.
Na janela Propriedades, defina o valor das properties Width e Height como 200.
Adicionar um System.Windows.Controls.Button o controle para o UserControl e conjunto o valor da Content propriedade para cancelar.
Adicionar um segundo System.Windows.Controls.Button o controle para o UserControl e defina o valor da Content propriedade para OK.
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
Abra Form1 no Windows Forms Designer.
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.
No painel de marcas inteligentes para elementHost1, clique em Editar Host conteúdo a partir de drop-down list.
UserControl1 é aberta no WPF Designer.
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>