En el anterior Post vimos como utilizar controles WinForms en WPF, ahora vamos a ver como utilizar controles WPF en aplicaciones Winforms, de esta manera podemos enriquecer nuestras antiguas aplicaciones WinForms e incluso poder realizar una migración paso a paso.
Al igual que en WPF en WinForms debemos de añadir una referencia a un assembly, en este caso a WindowsFormIntegration
Para añadir el control de WPF elegiremos Add New item en nuestro proyecto, eligiendo un control de WPF
El XAML de nuestro control será
- <UserControl x:Class=»WindowsFormsWPFInterop.UserControl1″
- xmlns=»http://schemas.microsoft.com/winfx/2006/xaml/presentation»
- xmlns:x=»http://schemas.microsoft.com/winfx/2006/xaml»
- Height=»300″ Width=»300″> <Grid> <ComboBox> <ComboBoxItem Margin=»2″> <Ellipse Width=»20″ Height=»20″ Stroke=»Black» /> </ComboBoxItem> <ComboBoxItem Margin=»2″> <Path Stroke=»Black» Data=»M 0,0 L 20,0 L 10,20 Z» /> </ComboBoxItem> <ComboBoxItem Margin=»2″> <Rectangle Stroke=»Black» Width=»20″ Height=»20″ /> </ComboBoxItem> </ComboBox> </Grid>UserControl>
- </
Ahora en nuestro WinForm debemos de añadir el control ElementHost que se encuentra dentro de la categoría WPF Interoperability
Una vez introducido en el Form debemos de indicarle que control de WPF queremos hostear
Ahora si ejecutamos la aplicación obtenemos un combo muy fácil den WPF que sería bastante mas complicado de realizar en WinForm
Fácilx de realizar no?