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.

libreria

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>

Ejecucion

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

Publicado por

Romny Duarte

Ingeniero de sistemas con experiencia en desarrollo web y móvil, geek, amante de la lectura y de la tecnología.

2 comentarios sobre “Componente Windows Forms 2.0 en WPF”

  1. «Hasta aqui todo bien con la integración, pero quisiera saber como hacer esto en tiempo de ejecución.»

    En ejecución lo mismo, añades un WindowsFormsHost al ElementTree y a éste le pones como hijo el control WinForms. Cual es la duda exactamente?

  2. Hola q tal amigo, al igual q tu me vengo dando ya de algun tiempo para acá con el Win fx realmente son algunas las cosas q se vuelven un poco duras;queria aprovechar el espacio viendo q tienes cierta experiencia con esta tecnologia a ver si podias ayudarme con algo una pregunta muy puntual.

    No viene al caso con lo que has expuesto aqui pero como es sobre wpf no se si podras ayudarme;realmente es dificil encontrar alguien que te tienda una mano sobre esta tecnologia.

    Entodo caso estaré visitando este post a ver si te animas.

Responder a pabloalarcongarcia Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *