Demonstra Passo a passo: Hospedagem de um controle de formulários do Windows no Windows Presentation Foundation
O WPF fornece muitos controles com um conjunto rico de características. Entretanto, você às vezes pode quere utilizar controles de Windows Forms nas suas páginas WPF. Por exemplo, voce pode ter um investimento substancial em controles Windows Forms existentes, ou você pode ter um controle Windows Forms que fornece funcionalidade unica.
Este passo a passo mostra como hospedar um controle System.Windows.Forms.MaskedTextBox de Windows Forms uma página WPF utilizando código.
Para uma listagem de código completa das tarefas apresentadas neste passo a passo, veja Hospedagem de um Controlarar Windows Forms no Windows Presentation Foundation Exemplo.
Observação As caixas de diálogo e comandos de menu você vê podem diferir daqueles descritos na ajuda dependendo de suas configurações ativas ou versã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.
Hospedando o Controle do Windows Forms
Para inicializar o controle MaskedTextBox
Crie um projeto de aplicação WPF chamado HostingWfInWpf.
No Solution Explorer, acrescente uma referência ao assembly WindowsFormsIntegration, que é chamado WindowsFormsIntegration.dll.
No Solution Explorer, acrescente uma referência ao assembly Windows Forms, que é chamado System.Windows.Forms.dll.
Abra Window1.xaml no WPF Designer.
Substitua o XAML gerado automaticamento no Window1.xaml pelo XAML a seguir.
<Window x:Class="Window1" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" Title="HostingWfInWpf" Height="300" Width="300" Loaded="WindowLoaded" > <Grid Name="grid1"> </Grid> </Window>
<Window x:Class="HostingWfInWpf.Window1" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" Title="HostingWfInWpf" Loaded="WindowLoaded" > <Grid Name="grid1"> </Grid> </Window>
No editor de código, abra Window1.xaml.cs.
Substitua o código em Window1.xaml.cs pelo seguinte:
Imports System Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Windows.Media Imports System.Windows.Media.Imaging Imports System.Windows.Shapes Imports System.Windows.Forms ' Interaction logic for Window1.xaml Partial Public Class Window1 Inherits Window Public Sub New() InitializeComponent() End Sub Private Sub WindowLoaded(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 'WindowLoaded End Class
using System; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Media; using System.Windows.Shapes; using System.Windows.Forms; namespace HostingWfInWpf { public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void WindowLoaded(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); } } }
Consulte também
Tarefas
Hospedagem de um Controlarar Windows Forms no Windows Presentation Foundation Exemplo
Conceitos
Demonstra Passo a passo: Hospedagem de um controle Windows Presentation Foundation no Windows Forms
Controles de Formulários do Windows e Controles WPF Equivalentes