Demonstra Passo a passo: Organizar conteúdo WPF no Windows Forms em tempo de design
Este artigo mostra como usar os recursos de layout do Windows Forms, como ancoragem e snaplines, para organizar controles do Windows Presentation Foundation (WPF).
Pré-requisitos
É necessário o Visual Studio para concluir este passo a passo.
Criar o projeto
Abra o Visual Studio e crie um novo projeto de aplicativo do Windows Forms no Visual Basic ou Visual C# chamado ArrangeElementHost
.
Observação
Ao hospedar conteúdo do WPF, haverá suporte apenas para projetos em C# e Visual Basic.
Criar o controle WPF
Depois de adicionar um controle WPF ao projeto, você pode organizá-lo no formulário.
Adicione um novo WPF UserControl ao projeto. Use o nome padrão do tipo de controle,
UserControl1.xaml
. Para obter mais informações, consulte Instruções passo a passo: como criar novo conteúdo WPF nos Windows Forms em tempo de design.No modo de exibição de Design, verifique se
UserControl1
está selecionado.Na janela Propriedades, defina o valor das Width propriedades e Height como 200.
Defina o Background valor da propriedade como Blue.
Compile o projeto.
Controles WPF de host em um painel de layout
Você pode usar controles WPF nos painéis de layout da mesma maneira que você usa outros controles dos Windows Forms.
Abra
Form1
no Designer de Formulários do Windows.Na caixa de ferramentas, arraste um TableLayoutPanel controle para o formulário.
TableLayoutPanel No painel de marcas inteligentes do controle, selecione Remover Última Linha.
Redimensione o TableLayoutPanel controle para uma largura e altura maiores.
Na caixa de ferramentas, clique
UserControl1
duas vezes para criar uma instância deUserControl1
na primeira célula do TableLayoutPanel controle.A instância de é hospedada
UserControl1
em um novo ElementHost controle chamadoelementHost1
.Na caixa de ferramentas, clique
UserControl1
duas vezes para criar outra instância na segunda célula do TableLayoutPanel controle.Na janela Estrutura de Tópicos do Documento, selecione
tableLayoutPanel1
.Na janela Propriedades, defina o Padding valor da propriedade como 10, 10, 10, 10.
Ambos os ElementHost controles são redimensionados para se adequarem ao novo layout.
Usar snaplines para alinhar controles WPF
Guias de alinhamento permitem fácil alinhamento de controles em um formulário. Você também pode usar guias de alinhamento para alinhar os controles WPF. Para obter mais informações, consulte Instruções passo a passo: organizando controles nos Windows Forms usando guias de alinhamento.
Na Caixa de Ferramentas, arraste uma ocorrência de
UserControl1
para o formulário e coloque-a no espaço abaixo do TableLayoutPanel controle.A instância de é hospedada
UserControl1
em um novo ElementHost controle chamadoelementHost3
.Usando snaplines, alinhe a borda esquerda do com a borda esquerda do
elementHost3
TableLayoutPanel controle.Usando snaplines, tamanho
elementHost3
para a mesma largura que o TableLayoutPanel controle.Mova
elementHost3
em direção ao TableLayoutPanel controle até que um snapline central apareça entre os controles.Na janela Propriedades, defina o valor da propriedade Margin como 20, 20, 20, 20.
Afaste-o do TableLayoutPanel controle até que o
elementHost3
snapline central apareça novamente. A guia de alinhamento central agora indica uma margem de 20.Mova
elementHost3
para a direita até que sua borda esquerda se alinhe com a borda esquerda doelementHost1
.Altere a largura de
elementHost3
até que a borda direita alinhe com a borda direita deelementHost2
.
Controles WPF de ancoragem e ancoragem
Um controle WPF hospedado em um formulário tem o mesmo comportamento de ancoragem e encaixe que outros controles dos Windows Forms.
Selecione
elementHost1
.Na janela Propriedades, defina a Anchor propriedade como Superior, Inferior, Esquerda, Direita.
Redimensione o TableLayoutPanel controle para um tamanho maior.
O controle
elementHost1
será redimensionado para preencher a célula.Selecione
elementHost2
.Na janela Propriedades, defina o Dock valor da propriedade como Fill.
O controle
elementHost2
será redimensionado para preencher a célula.Selecione o controle TableLayoutPanel.
Selecione
elementHost3
.Defina o valor de sua Dock propriedade como Fill.
O controle
elementHost3
será redimensionado para preencher o espaço restante no formulário.Redimensione o formulário.
Todos os três ElementHost controles são redimensionados adequadamente.
Para obter mais informações, consulte Como ancorar e encaixar controles filho em um controle TableLayoutPanel.
Confira também
- ElementHost
- WindowsFormsHost
- Como ancorar e encaixar controles filho em um controle TableLayoutPanel
- Como alinhar um controle às bordas de formulários no tempo de design
- Passo a passo: organizando controles nos Windows Forms usando linhas de alinhamento
- Migração e Interoperabilidade
- Usando Controles do WPF
- Criar o XAML no Visual Studio
.NET Desktop feedback