Componente Windows Forms 2.0 en WPF
Hola gente de Geeks.MS. Eh estado trabajando mucho con WPF y me han salido ligeros inconvientes.
Hoy quiero comentarles sobre algo que a muchos nos ha pasado desarrollando aplicaciones para WPF. Como sabran una de las diferencias principales entre un control de Windows Forms 2.0 y Wpf, es que los control de Windows Form 2.0 se hereda de la clase Control (Sytem.Windows.Forms.Control, que ah su ves se hereda System.Windows.Forms.dll) y en WPF se hereda de la clase UIElement (System.Windows.UIElement, de la librería WindowsBase.dll).
Muchos diran para que quiero controles de Windows Form 2.0 en WPF, basicamente es por algunos de los controles de WPF no tienen todas las funcionalidades de los controles de Windows Forms 2.0, y tenemos que valernos de un poco de programación para que se comporten igual.
Para hacer esta interoperabilidad tenemos que hacer uso del componente WindowsFormsIntegration.dll, Basicamente tenemos que crear un proyecto de tipo libreria y crear un control de usuario para integrarlo en el XAML de WPF.
Primero tenemos que agregar las referencias necesarias, WindowsFormsIntegration.dll y la de nuestro proyecto donde hicimos nuestro control de usuario.
Seguidamente tenemos que importar el espacio de nombres de el control de usuario.
xmlns:winform="clr-namespace:WinFormControl;assembly=WinFormControl"
<WindowsFormsHost Height="25" Margin="0,0,160,0" VerticalAlignment="Top">
<winform:WinFormControl x:Name="winControl" CustomEvent="winControl_CustomEvent" />
</WindowsFormsHost>
Hasta aqui todo bien con la integración, pero quisiera saber como hacer esto en tiempo de ejecución.
Bueno espero que les guste y les sirva.
Codigo