Procedura dettagliata: hosting di controlli Windows Form in WPF
WPF fornisce numerosi controlli con un'ampia gamma di funzionalità. Talvolta si potrebbero tuttavia utilizzare i controlli Windows Forms nelle pagine WPF. È ad esempio possibile avere un investimento sostanziale in controlli Windows Forms esistenti o è possibile disporre di un controllo Windows Forms che fornisce funzionalità univoche.
In questa procedura dettagliata viene illustrato come eseguire l'hosting di un controllo System.Windows.Forms.MaskedTextBox Windows Forms in una pagina WPF tramite codice.
Per un elenco di codice completo delle attività illustrate in questa procedura dettagliata, vedere Esempio di hosting di controlli Windows Form in WPF (la pagina potrebbe essere in inglese).
Prerequisiti
Per completare la procedura dettagliata, è necessario disporre dei componenti seguenti:
- Visual Studio 2010.
Hosting di un controllo Windows Form
Per ospitare il controllo MaskedTextBox
Creare un progetto di applicazione WPF denominato HostingWfInWpf.
Aggiungere riferimenti agli assembly riportati di seguito.
WindowsFormsIntegration
System.Windows.Forms
Aprire MainWindow.xaml in WPF Designer.
Denominare l'elemento Grid grid1.
<Grid Name="grid1"> </Grid>
In visualizzazione Progettazione o XAML selezionare l'elemento Window.
Nella finestra Proprietà fare clic sulla scheda Eventi.
Fare doppio clic sull'evento Loaded.
Inserire il codice riportato di seguito per gestire l'evento Loaded.
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
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); }
All'inizio del file, aggiungere l'istruzione Imports o using seguente.
Imports System.Windows.Forms
using System.Windows.Forms;
Premere F5 per compilare ed eseguire l'applicazione.
Vedere anche
Attività
Procedura dettagliata: hosting di controlli Windows Form in WPF tramite XAML
Riferimenti
Concetti
Procedura dettagliata: hosting di controlli Windows Form compositi in WPF
Procedura dettagliata: hosting di controlli compositi di WPF in Windows Form
Controlli Windows Form e controlli WPF equivalenti
Altre risorse
Esempio di hosting di controlli Windows Form in WPF
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Agosto 2010 |
Aggiornamento per Visual Studio 2010 |
Commenti e suggerimenti dei clienti. |