Procedura dettagliata: Hosting di un controllo Windows Forms in WPF
WPF offre molti controlli con un set di funzionalità avanzato. Tuttavia, a volte è possibile usare i controlli Windows Form nelle pagine WPF. Ad esempio, è possibile che si abbia un notevole investimento nei controlli Windows Form esistenti oppure che si disponga di un controllo Windows Form che fornisce funzionalità univoce.
Questa procedura dettagliata illustra come ospitare un controllo windows Form System.Windows.Forms.MaskedTextBox in una pagina WPF usando il codice.
Per un elenco di codice completo delle attività illustrate in questa procedura dettagliata, vedere Hosting di un controllo Windows Form nell'esempio WPF.
Prerequisiti
Per completare questa procedura dettagliata, è necessario Visual Studio.
Hosting del controllo Windows Form
Per ospitare il controllo MaskedTextBox
Creare un progetto Applicazione WPF denominato
HostingWfInWpf
.Aggiungere riferimenti agli assembly seguenti.
WindowsFormsIntegration
System.Windows.Forms
Aprire MainWindow.xaml nella finestra di progettazione WPF.
Denominare l'elemento Grid
grid1
.<Grid Name="grid1"> </Grid>
Nella visualizzazione Progettazione o nella visualizzazione XAML selezionare l'elemento Window.
Nella finestra Proprietà fare clic sulla scheda Eventi.
Fare doppio clic sull'evento Loaded.
Inserire il codice seguente per gestire l'evento Loaded.
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
Nella parte superiore del file aggiungere l'istruzione
Imports
ousing
seguente.using System.Windows.Forms;
Imports System.Windows.Forms
Premere F5 per compilare ed eseguire l'applicazione.
Vedere anche
- ElementHost
- WindowsFormsHost
- progettare XAML in Visual Studio
- Procedura dettagliata: Hosting di un controllo Windows Forms in WPF tramite XAML
- Procedura dettagliata: come ospitare un controllo composito di Windows Forms in WPF
- Procedura dettagliata: Hosting di un controllo composito WPF in Windows Forms
- Controlli Windows Forms e controlli equivalenti WPF
- Hosting di un controllo Windows Forms in un esempio WPF
.NET Desktop feedback