2011-04-13 14 views

Respuesta

16

No, no hay traducción directa de Windows Forms a WPF; además, hacer esto directamente sería deficiente y conduciría a una aplicación WPF muy mal diseñada.

Discutir esto en profundidad en my series on WPF with MVVM - en particular, "Part 3" muestra lo que sucede cuando escribe WPF usando la misma manera que las aplicaciones típicas de Windows Forms, pero luego le explico por qué esta es una mala idea en general.

WPF, en su esencia, se basa en un paradigma de programación muy diferente a Windows Forms. Sería mejor separar la lógica de su negocio en Windows Forms, luego escribir una nueva capa de Vista en WPF para trabajar con la lógica.

+2

+1 para el paradigma diferente. Escribí una aplicación Silverlight como una aplicación de formularios de Windows y tuve muchos problemas para actualizarla porque la IU y la lógica y todo estaba unido. Desde entonces realmente entiendo el valor de MVVM. – gideon

+0

¿Qué opinas sobre herramientas de terceros o software para la conversión? – mahesh

+2

@mahesh: Recomiendo leer mi serie en: http://reedcopsey.com/series/windows-forms-to-mvvm/ Encontrarás que, incluso si encuentras una solución de terceros que convierta, la conversión, en general, será peor que inútil; será mejor que lo haga manualmente. Siempre puede usar las capas de interoperabilidad para convertir el contenido en etapas. –

1

No es como convertir vb.net a C# o algo así, WPF es una forma totalmente diferente de escribir aplicaciones de Windows.

Sin embargo, si tiene su código abstractamente separado, y/o su código de UI está separado de la lógica, no debería tener demasiados problemas portando a WPF.

WPF también tiene la clase WindowsFormsHost. Aquí hay un Tutorial en Hosting a windows forms control in WPF.

0

necesitarás reescribir bastante. Y definitivamente vale la pena hacerlo para aprovechar MVVM.