Durante mucho tiempo, he estado atascado con el desarrollo de Windows Forms (comencé con VB6 y ha continuado hasta C # .NET 4.5), y he llegado al límite de lo que Windows Forms puede hacer, ambos usando .NET puro y efectos especiales con Native Code.
He intentado aprender WPF y XAML, pero me quedo atascado en el nuevo diseñador de WPF. Realmente parece muy difícil de usar en comparación con el diseñador de Windows Forms.
Quiero saber si existen alternativas al diseñador WPF de .NET que sean más adecuadas para los desarrolladores de Windows Forms.
Respuestas:
Me gusta escribir en un blog sobre artículos para principiantes para WPF, y hay algunos en particular que pueden ayudarlo:
En resumen, la mayor diferencia entre Winforms y WPF es que en WPF su capa de datos (la
DataContext
) es su aplicación, mientras que en Winforms su capa de interfaz de usuario es su aplicación.Para verlo de otra manera, con WPF su aplicación consta de los objetos que crea, y usa Plantillas y otros objetos de IU para decirle a WPF cómo dibujar los componentes de su aplicación.
Eso es lo opuesto a WinForms, donde construye su aplicación a partir de objetos de interfaz de usuario y luego les proporciona los datos necesarios.
Debido a esto, el diseñador en realidad no se usa tanto ya que los componentes de su aplicación están diseñados en código, y el diseñador solo es necesario para dibujar una interfaz fácil de usar que refleje sus clases de datos (generalmente
Models
yViewModels
)Y personalmente, prefiero escribir todo mi XAML a mano, ya que es más rápido y no causa tanto desorden como lo hace el diseñador WPF de arrastrar / soltar, aunque en ocasiones uso el Diseñador para obtener una vista previa de cómo se verá mi interfaz de usuario me gusta.
Entonces, para responder a su pregunta sobre si hay otros diseñadores de WPF adecuados para los desarrolladores de WinForms, sugeriría que, en lugar de buscar otro diseñador, busque aprender a usar WPF de la manera en que debe usarse. Usar WPF como si fuera WinForms significa que se pierde mucho de lo que lo hace tan bueno :)
fuente
Bueno, aunque algunas personas no están de acuerdo, también recomendaría no usar el diseñador VS. Al menos no para crear una interfaz. Si desea tener una primera impresión de su implementación sin iniciar la aplicación, es un buen visor al menos siempre que no se utilicen cosas sofisticadas como
Styles
yTemplates
. Pero, en mi humilde opinión, su resultado de arrastrar y soltar solo debe usarse como prototipo y, por lo tanto, debe descartarse una vez que ya no sea necesario.Aquí hay algunas razones que son importantes para no usarlo.
El diseñador de VS está trabajando con márgenes fijos y alineaciones (lo que generalmente no es necesario, si está usando los controles de diseño), significa que debe tocar muchos controles, si se cambian los requisitos. Si está familiarizado con XAML y la mecánica de WPF, puede crear aplicaciones que se pueden modificar con un pequeño esfuerzo, con respecto a la apariencia.
Dado que el diseñador está generando el xaml, la composición no es óptima y la interfaz de usuario puede funcionar mal. No lo medí, es solo un sentimiento.
Una alternativa mucho mejor es MS Blend , aunque el comienzo es todo menos fácil. Su resultado de arrastrar y soltar es mucho mejor que el resultado del diseñador VS.
Pero es una herramienta bastante poderosa, que te ayuda a usar elementos bastante poderosos para crear una interfaz de usuario de vanguardia. Recomiendo visitar al menos un pequeño taller para tener una idea de sus oportunidades.
Volviendo a tu pregunta, en mi humilde opinión, y creo que mucha gente está de acuerdo, consíguete un buen libro, por ejemplo, WPF Unleashed y más tarde, si quieres saber más sobre los detalles, WPF Pro . Hay muchas características que son diferentes a
Winforms
. No los conocerá utilizando ningún diseñador. Creo que ese es el mejor enfoque.Tenga en cuenta también que hay muchos marcos y bibliotecas (por ejemplo, MVVM light , WPFToolkit ) que ya están resolviendo algunos problemas comunes. Entonces no es necesario reinventar la rueda.
fuente
Sé que esta es una pregunta antigua, pero para beneficio de cualquier otra persona que mire esto, creo que debería corregir un poco el equilibrio: al leer algunas de las otras respuestas, tengo la sensación de que algunos de los 'no usan el diseñador 'El sentimiento proviene de no usarlo correctamente. Este tutorial es bastante bueno para comenzar y responde a algunas de las críticas en las otras publicaciones.
Por ejemplo, puede cambiar del diseño basado en márgenes similar a Winforms que es el predeterminado cuando suelta un control, a un estilo más similar a WPF haciendo clic derecho y seleccionando 'Restablecer diseño'
Este video cubre un terreno similar.
Sigo prefiriendo el diseñador VS2010 en general: VS2013 parece tener un poco de errores al arrastrar y soltar en TabItems **, (que mi proyecto actual usa mucho), pero la vista Esquema del documento VS2013 también le permite mover las cosas en esa vista. , lo que puede ser una verdadera ventaja.
Realmente, sin embargo, para aprovechar al máximo WPF y xaml, debe ser razonablemente fluido tanto en la vista del diseñador como en la vista xaml y cambiar entre ellas; si te alejas del diseñador, te estás perdiendo algo que puede ayudarte mucho.
** Editar: aunque esto parece haberse mejorado en la Actualización 3 para VS 2013, y en las vistas previas de VS14, hasta la fecha todavía tengo un comportamiento extraño a veces.
fuente
En primer lugar, en WPF (XAML) en Visual Studio deisgner, siempre debe usar el código xaml para construir su interfaz de usuario y no arrastre y suelte su control. Necesitas mantener tu código limpio. Puede usar Expression Blend para ayudarlo, está más orientado a gráficos con arrastrar y soltar, pero no es gratis.
No es una gran curva de aprendizaje, pero creo que debería aprender a hacer su xaml a mano en lugar de buscar alternativas.
fuente
He pasado por este proceso como tú. Luego estuve enseñando a todos en mi empresa WPF. Hay un par de lecciones importantes que he aprendido y todos los que conozco que trabajan con WPF.
Hace que el desarrollo de la interfaz de usuario sea divertido. Especialmente una vez que descubra cómo le gusta jugar con los procesos de Asyc. Realmente elimina muchos de los dolores de cabeza causados por Winforms.
fuente