Instruções passo a passo: hospedando um controle dos Windows Forms no WPF
O WPF fornece muitos controles com um rico conjunto de recursos. No entanto, às vezes você pode querer usar controles do Windows Forms em suas páginas WPF. Por exemplo, você pode ter um investimento substancial em controles existentes do Windows Forms ou você pode ter um controle do Windows Forms que fornece funcionalidade exclusiva.
Este passo a passo mostra como hospedar um controle do Windows Forms System.Windows.Forms.MaskedTextBox em uma página WPF usando código.
Para obter uma listagem de código completa das tarefas mostradas nesta explicação passo a passo, consulte Hospedando um controle do Windows Forms no exemplo WPF.
Pré-requisitos
É necessário o Visual Studio para concluir este passo a passo.
Hospedando o controle dos Windows Forms
Para hospedar o controle MaskedTextBox
Crie um projeto de aplicativo WPF chamado
HostingWfInWpf
.Adicione referências aos assemblies a seguir.
WindowsFormsIntegration
System.Windows.Forms
Abra o MainWindow.xaml no WPF Designer.
Nomeie o Grid elemento
grid1
.<Grid Name="grid1"> </Grid>
No modo Design ou no modo XAML, selecione o Window elemento .
Na janela Propriedades, clique na guia Eventos.
Clique duas vezes no Loaded evento.
Insira o código a seguir para manipular o Loaded evento.
private void Window_Loaded(object sender, RoutedEventArgs e) { // Create the interop host control. System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost(); // Create the MaskedTextBox control. MaskedTextBox mtbDate = new MaskedTextBox("00/00/0000"); // Assign the MaskedTextBox control as the host control's child. host.Child = mtbDate; // Add the interop host control to the Grid // control's collection of child controls. this.grid1.Children.Add(host); }
Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs) ' Create the interop host control. Dim host As New System.Windows.Forms.Integration.WindowsFormsHost() ' Create the MaskedTextBox control. Dim mtbDate As New MaskedTextBox("00/00/0000") ' Assign the MaskedTextBox control as the host control's child. host.Child = mtbDate ' Add the interop host control to the Grid ' control's collection of child controls. Me.grid1.Children.Add(host) End Sub
Na parte superior do arquivo, adicione a instrução ou
using
a seguirImports
.using System.Windows.Forms;
Imports System.Windows.Forms
Pressione F5 para compilar e executar o aplicativo.
Confira também
- ElementHost
- WindowsFormsHost
- Criar o XAML no Visual Studio
- Passo a passo: hospedando um controle do Windows Forms no WPF usando XAML
- Passo a passo: hospedando um controle composto do Windows Forms no WPF
- Instruções passo a passo: hospedando um controle de composição do WPF nos Windows Forms
- Controles dos Windows Forms e controles WPF equivalentes
- Hospedando um controle do Windows Forms no exemplo WPF
.NET Desktop feedback