Condividi tramite


Procedura dettagliata: hosting di un controllo utente Windows Form tramite Progettazione WPF

Aggiornamento: novembre 2007

In questa procedura dettagliata viene mostrato come utilizzare Progettazione Windows Presentation Foundation (WPF) per Visual Studio per ospitare un controllo Windows Form composto in un'applicazione WPF. Per ulteriori informazioni sull'interoperabilità tra Windows Form e WPF, vedere Migrazione e interoperabilità

Di seguito sono elencate le attività illustrate nella procedura dettagliata:

  • Creazione del progetto.

  • Creazione del controllo Windows Form composto.

  • Hosting del controllo Windows Form in un'applicazione WPF.

Nota:

È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida, a seconda delle impostazioni attive o dell'edizione del programma. Per modificare le impostazioni, scegliere Importa/esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Impostazioni di Visual Studio.

Prerequisiti

Per completare questa procedura dettagliata, è necessario disporre dei seguenti componenti:

  • Visual Studio 2008.

Creazione del progetto

Il primo passaggio consiste nella creazione del progetto per l'applicazione host.

Per creare il progetto

  1. Creare un progetto di applicazione WPF denominato "DemoApplication". Per ulteriori informazioni, vedere Procedura: creare un nuovo progetto di applicazione WPF.

    Window1.xaml verrà aperto in WPF Designer. 

  2. In Esplora soluzioni aggiungere un riferimento all'assembly WindowsFormsIntegration, denominato WindowsFormsIntegration.dll.

  3. In Esplora soluzioni aggiungere un riferimento all'assembly Windows Form, denominato System.Windows.Forms.dll.

Creazione del controllo Windows Form composto

In questa procedura viene illustrato come creare un controllo composto che si ridimensiona in base al proprio contenuto. Il controllo TableLayoutPanel e la proprietà AutoSize forniscono la funzionalità di layout dinamico del controllo. Per ulteriori informazioni, vedere Controllo TableLayoutPanel (Windows Form).

Per creare il controllo Windows Form composto

  1. Aggiungere alla soluzione un nuovo progetto di libreria di controlli Windows Form denominato "DemoControlLibrary". Per ulteriori informazioni, vedere Procedura: aggiungere e rimuovere elementi di soluzione.

    UserControl1 verrà aperto in Progettazione Windows Form.

  2. Fare doppio clic su TableLayoutPanel nella Casella degli strumenti. Nell'area di progettazione verrà visualizzato un controllo TableLayoutPanel.

  3. Selezionare Rimuovi ultima riga dal menu Smart tag Attività di TableLayoutPanel.

  4. Nella finestra Proprietà impostare il valore della proprietà Dock su Fill.

  5. Nella Casella degli strumenti aggiungere un controllo Label nella prima cella del controllo TableLayoutPanel.

  6. Nella finestra Proprietà impostare le seguenti proprietà per il controllo Label:

    Proprietà

    Valore

    AutoSize

    True

    Dock

    Fill

    Margin

    0,0,0,0

    Text

    Enter Date:

    TextAlign

    MiddleCenter

  7. Nella Casella degli strumenti aggiungere un controllo MaskedTextBox nella seconda cella del controllo TableLayoutPanel.

  8. Fare clic sul glifo dello smart tag (Glifo Smart Tag) sul controllo MaskedTextBox e scegliere Imposta maschera dal menu Attività di MaskedTextBox.

    Verrà visualizzata la finestra di dialogo Maschera di input.

  9. Nella colonna Descrizione maschera selezionare Data breve e fare clic su OK.

  10. Nella parte superiore della finestra Proprietà selezionare il controllo TableLayoutPanel dall'elenco a discesa.

  11. Impostare il valore della proprietà AutoSize su true.

  12. Nella parte superiore della finestra Proprietà selezionare UserControl1.

  13. Impostare il valore della proprietà AutoSize su true e il valore della proprietà Size su 0,0.

    UserControl1 verrà ridimensionato in base al contenuto.

  14. Per compilare la soluzione, scegliere Compila soluzione dal menu Compila.

Hosting del controllo Windows Form in WPF

Utilizzare l'elemento WindowsFormsHost per ospitare UserControl1 in un'applicazione WPF.

Per ospitare il controllo Windows Form in WPF

  1. Nel progetto DemoApplication di Esplora soluzioni aggiungere un riferimento al progetto DemoControlLibrary. Per ulteriori informazioni, vedere Procedura: aggiungere o rimuovere riferimenti in Visual Studio (Visual Basic).

  2. Aprire Window1.xaml in WPF Designer.

  3. In visualizzazione XAML importare lo spazio dei nomi DemoControlLibrary inserendo il seguente mapping dello spazio dei nomi nel tag di apertura per Window. Per ulteriori informazioni, vedere Procedura: importare uno spazio dei nomi in XAML.

    xmlns:dc="clr-namespace:DemoControlLibrary;assembly=DemoControlLibrary"
    
  4. Dopo il tag di apertura per Grid inserire il codice seguente.

    <WindowsFormsHost HorizontalAlignment="Left" VerticalAlignment="Top">
        <dc:UserControl1/>
    </WindowsFormsHost>
    

    Nella finestra di progettazione viene visualizzata un'area che rappresenta il controllo Windows Form ospitato.

Passaggi successivi

È anche possibile ospitare i controlli WPF in Windows Form. Per ulteriori informazioni, vedere Utilizzo dei controlli Windows Presentation Foundation.

Vedere anche

Attività

Procedura dettagliata: hosting di controlli Windows Form in Windows Presentation Foundation

Riferimenti

WindowsFormsHost

ElementHost

Altre risorse

Utilizzo dei controlli in Progettazione WPF

Migrazione e interoperabilità