2009-02-01 6 views

risposta

2

È possibile anche utilizzare un HWNDSource e HWNDHost controlli per incorporare controlli WPF in una app WinForms (o qualsiasi Win32, davvero).

3

Abbiamo ospitato controlli WPF significativamente complessi in un'app esistente WinForms LOB. Può essere fatto, ma abbiamo avuto problemi (alcuni senza dubbio causati dalla curva di apprendimento ripida). Questi hanno principalmente a che fare con eventi di perdita di messa a fuoco non attivati ​​quando previsto, e anche problemi di navigazione della tastiera.

1

Sì, è possibile, sia Windows Form all'interno di un'applicazione WPF, sia controlli WPF in Windows Form. L'applicazione di mappatura mentale di www.novamind.com è un mix riuscito delle due tecnologie.

3

Quando si ospita contenuto non WPF (sia esso HTML, WinForms o contenuto Win32), si avranno problemi Airspace. Ciò significa che non è possibile compostare completamente il contenuto WPF con il contenuto ospitato. Inoltre, non è possibile animarlo ecc. Ci sono anche alcuni problemi interessanti riguardo agli scrollviewer see here for more details and a fix.

32

È abbastanza semplice ospitare i controlli WPF in un'app WinForms con un adattatore ElementHost o controlli WinForm in un'app WPF con un adattatore WindowsFormsHost. Non ci sono troppe risorse sul web che mostrano come fare uno di questi, comunque. Nel processo di apprendimento su come fare questo per me stesso ho scoperto rapidamente le simmetrie intrinseche tra i due percorsi. Ho distillato tutte le mie note in un articolo confrontando e contrapponendo queste simmetrie usando un approccio unico: l'articolo è in realtà due articoli affiancati, confrontando ogni passaggio in dettaglio, a partire dalla creazione di un controllo utente in una tecnologia per ospitarla in un applicazione nella tecnologia "opposta". Il mio articolo, pubblicato su SimpleTalk.com nell'agosto 2010, è disponibile qui: Mixing WPF and WinForms.

Per completezza, ecco un paio di buoni riferimenti MSDN, uno per ogni percorso. In realtà, la soluzione demo che accompagna il mio articolo ha iniziato da entrambi questi:

+0

La miscelazione WPF e WinForms articolo è un grande esempio. Una spiegazione molto chiara e ben illustrata, assolutamente da leggere per chiunque stia considerando questa attività. Grazie! – RAM

Problemi correlati