Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como usar os recursos de layout do Windows Forms, como ancoragem e snaplines, para organizar controles do WPF (Windows Presentation Foundation).
Pré-requisitos
Você precisa do 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 no Visual C# chamado ArrangeElementHost
.
Nota
Ao hospedar conteúdo do WPF, há suporte apenas para projetos 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 para o tipo de controle,
UserControl1.xaml
. Para obter mais informações, consulte Instruções passo a passo: como criar novo conteúdo WPF no Windows Forms em tempo de design.No modo Design, verifique se
UserControl1
está selecionado.Na janela de propriedades do
, defina os valores das propriedades e como 200 .Defina o valor da propriedade Background como Blue.
Compile o projeto.
Hospedar controles do WPF em um painel de layout
Você pode usar controles WPF em painéis de layout da mesma forma que usa outros controles do Windows Forms.
Abra
Form1
no Designer de Formulários do Windows.Na caixa de ferramentas , arraste um controle TableLayoutPanel para o formulário.
No painel de marcas inteligentes do controle TableLayoutPanel, selecione Remover Última Linha.
Redimensione o controle TableLayoutPanel para uma largura e altura maiores.
Na caixa de ferramentas , clique duas vezes
UserControl1
para criar uma instância deUserControl1
na primeira célula do controle TableLayoutPanel.A instância de
UserControl1
é hospedada em um novo controle ElementHost chamadoelementHost1
.Na caixa de ferramentas , clique duas vezes
UserControl1
para criar outra instância na segunda célula do controle TableLayoutPanel.Na janela Estrutura de Tópicos do Documento, selecione
tableLayoutPanel1
.Na janela Propriedades, defina o valor da propriedade Padding como 10, 10, 10, 10.
Ambos os controles ElementHost são redimensionados para caber no novo layout.
Usar snaplines para alinhar controles do WPF
Os snaplines habilitam o alinhamento fácil de controles em um formulário. Você também pode usar snaplines para alinhar seus controles do WPF. Para obter mais informações, consulte Passo a passo: organizando controles em Windows Forms usando Snaplines.
Na Caixa de Ferramentas, arraste uma instância de
UserControl1
para o formulário e coloque-a no espaço abaixo do controle TableLayoutPanel.A instância de
UserControl1
é hospedada em um novo controle ElementHost chamadoelementHost3
.Usando guias de alinhamento, alinhe a borda esquerda de
elementHost3
com a borda esquerda do controle TableLayoutPanel.Usando guias de alinhamento, ajuste
elementHost3
para a mesma largura do controle TableLayoutPanel.Mova
elementHost3
em direção ao controle TableLayoutPanel até que uma guia de alinhamento central apareça entre os controles.Na janela Propriedades, defina o valor da propriedade Margem como 20, 20, 20, 20.
Mova o
elementHost3
para longe do controle TableLayoutPanel até que a guia de alinhamento 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 à borda esquerda deelementHost1
.Altere a largura de
elementHost3
até que sua borda direita se alinhe à borda direita deelementHost2
.
Ancorar e encaixar controles WPF
Um controle WPF hospedado em um formulário tem o mesmo comportamento de ancoragem e encaixe que outros controles do Windows Forms.
Selecione
elementHost1
.Na janela Propriedades, defina a propriedade Anchor como Superior, Inferior, Esquerda, Direita.
Redimensione o controle TableLayoutPanel para um tamanho maior.
O controle
elementHost1
se redimensiona para preencher a célula.Selecione
elementHost2
.Na janela Propriedades, defina o valor da propriedade Dock para Fill.
O controle
elementHost2
se redimensiona para preencher a célula.Selecione o controle TableLayoutPanel.
Selecione
elementHost3
.Defina o valor da propriedade Dock dela como Fill.
O controle
elementHost3
redimensiona para preencher o espaço restante no formulário.Redimensione o formulário.
Todos os três controles ElementHost se redimensionam adequadamente.
Para obter mais informações, consulte Como ancorar e encaixar controles filho em um controle TableLayoutPanel.
Consulte 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 snaplines
- Migração e Interoperabilidade
- Usando Controles do WPF
- Criar o XAML no Visual Studio
.NET Desktop feedback