¿Cómo comenzar el desarrollo de WPF?

He estado usando Winforms desde .NET 1.1 y quiero comenzar a aprender WPF.

Estoy buscando algunos buenos recursos para un principiante en WPF. ¿Qué debería leer, qué herramientas necesito y cuáles son las mejores prácticas que debo seguir?

Eche un vistazo a esta publicación de StackOverflow , que tiene una lista de recomendaciones de libros.

En términos de mejores prácticas, familiarícese con el patrón MV-VM . Parece haber ganado la mayor tracción en WPF-land.

Consulte esta publicación para conocer las herramientas que puede usar para el desarrollo de WPF.

El MSDN Forum es un excelente lugar para los recursos, como lo son los archivos de ayuda de MSDN en WPF.

Mi recomendación personal es que olvide todo lo que ha aprendido sobre WinForms. WPF es un modelo totalmente diferente, y una vez que finalmente dejé caer mi “Lo hice de esta manera en WinForms, pero de esa manera no funciona en WPF” Tuve uno de esos momentos de “bombilla”.

¡Espero que esto ayude!

La curva de aprendizaje es alta, pero hay muchos recursos realmente buenos por ahí. Y la documentación de MSDN y los ejemplos de SDK (como algunos ya lo han mencionado) son realmente buenos.

Sin embargo, una cosa que te ayudará es simplemente reconocer la curva de aprendizaje por adelantado y no desanimarte cuando no tenga sentido. Realmente hay muchos conceptos para ‘asimilar’ antes de poder hacer algunas cosas incluso básicas.

Los libros de WPF ya mencionados son todos valiosos a su manera. Mi experiencia personal fue que primero obtuve una copia de WPF Unleashed e intenté leerla sin éxito. No fue hasta que recogí Application = Code + Markup de Charles Petzold y leí algo de eso … antes de que pudiera comenzar a entender WPF Unleashed . Sin embargo, mi cerebro necesita detalles antes de que los conceptos realmente se hundan …

Tim Sneath tiene una excelente lista de bloggers de WPF que he encontrado valiosos para engancharme a la comunidad de WPF : WPF Bloggers

Algunos blogs en mi lista de lectura obligatoria:

  • Rob Relyea
  • Dr. WPF
  • Josh Smith
  • Robby Ingebretsen
  • Kevin Moore
  • Charles Petzold
  • Pavan Podila

Otra cosa que haría es obtener la biblioteca de fragmentos del Dr. WPF (que se encuentra aquí ). Esta es una excelente manera de aprender algunos de los conceptos básicos de fontanería, como propiedades de dependencia, eventos enrutados y comandos enrutados.

Finalmente, obtendría una copia de Blend (la v2.5 aún está en versión beta y gratuita) y la usaré para generar xaml y luego bucearé en esa xaml generada para comprender lo que hizo en Blend, se asigna a la API de WPF.

Espero que esto ayude. Buena suerte.

1 Comience a comprender el XAML y controle las jerarquías: el marcado de UI y los nuevos términos y características a su alrededor. KaXaml es una gran herramienta para aprender XAML, se puede descargar gratis en http://www.kaxaml.com/

2 Como ya tiene una larga experiencia en .NET, acceda directamente a las muestras del SDK y comience a correr en él para ver qué ocurre, juegue con XAML. http://msdn.microsoft.com/en-us/library/ms771449.aspx

3 Si está buscando recursos del blog, esta es mi mejor sugerencia

Pero seleccionando un escenario simple de UI que ya hayas implementado o visto en alguna parte e intentes implementarlo en WPF : ese es probablemente el mejor enfoque para aprender una nueva tecnología.

Y por favor, no temas a MVVM, esas cosas te serán útiles más tarde una vez que te familiarices con la plataforma WPF y XAML.

Adam Nathan’s – WPF Unleashed, el libro es muy bueno.

Yo recomendaría el libro Windows Presentation Foundation Unleashed de Adam Nathan

Entonces te recomendaría que escribieras una aplicación. Al igual que cualquier otro entorno de desarrollo, no existen pautas perfectas. Tienes que encontrar los que tengan más sentido para tu circunstancia. La única forma de hacerlo es comenzar a codificar.

En cuanto a las herramientas, Visual Studio 2008 [Express] es su mejor apuesta. O quizás puedas cojear junto con XamlPad.

También recomendaría usar Blend junto con VS 2008. Blend es ideal para crear animaciones.

La vista previa de Blend 2.5 puede descargarse libremente.

Me gusta el Blog Designer WPF , que contiene algunos buenos tutoriales sobre cómo hacer las cosas de WPF en Blend.

Aunque ya se mencionó anteriormente, quería reiterar un punto.

Kaxaml es sin excepción , el mejor editor xaml suelto que existe. Tiene una biblioteca de fragmentos, IntelliSense, vista dividida, un depurador xaml (impresión bonita) y más.

Ojalá pudiéramos conectar algunos ensambles (que podría hacer referencia desde el xaml) …

Robby Ingebretsen, eres rockero

Humildemente, también sugiero que eche un vistazo a mi blog, 2,000 cosas que debe saber sobre WPF , donde publico una sola información sobre WPF cada día. El blog comienza con los primeros principios y trabaja gradualmente en temas más avanzados, por lo que es un buen lugar para comenzar, como principiante.

Dominar WPF (y Silverlight, y básicamente cualquier framework basado en XAML .NET rich UI) requiere más que entender los nuevos conceptos de desarrollo (y hay muchos). No es suficiente para comprender completamente las propiedades de dependencia, las propiedades adjuntas, las plantillas, el enlace de datos, los estilos, MVVM, el mecanismo de diseño, los estados visuales y partes, efectos, eventos enrutados … Para conocer realmente su camino, debe comprender algunos conceptos básicos conceptos en gráficos (como gráficos vectoriales, gráficos de ttwig, renderizado, técnicas de gráficos en capas, animación, sombreadores de píxeles, degradados, geometrías, rutas, pinceles, matrices de transformación, etc.). Además de eso, necesita aprender y comprender MV-VM, que no es solo un nuevo patrón de diseño: es un paradigma de progtwigción completamente nuevo. Entonces, hay mucho que aprender … y el problema es que no importa en qué punto de partida eliges, siempre sientes que falta algo.

Probé varios libros como punto de partida y muchos de ellos me confundieron bastante. Luego encontré “Illustrated WPF” de Daniel M. Solis y este me fue el truco. Explica conceptos del mundo de los gráficos de una manera que es clara para los desarrolladores, y luego enseña todos los nuevos conceptos de la interfaz de usuario basada en XAML mientras toca ligeramente cada tema y se sumerge en temas específicos a través de una demostración. Simplemente siguiendo los tutoriales, encontrará que ha aprendido mucho y, lo que es más importante, ha eliminado el factor miedo.

Una vez que domines eso, puedes pasar a “WPF Unleashed” de Adam Nathan y sumergirte más profundo. Éste le ofrece una visión mucho más profunda de los conceptos que son exclusivos de WPF, que creo que tiene muchas más posibilidades de comprender una vez que haya visto cada función al menos una vez. De alguna manera, todos se completan entre sí y solo tienen sentido juntos.

Todavía tendrá toneladas para aprender después de eso, pero en este punto puede desarrollar aplicaciones completas y aprender nuevos temas a medida que avanza …

Disfruta 🙂

Visual Studio 2008 (hay una versión Express gratis). Esas son todas las herramientas que necesita.

Luego prueba algunos videos instructivos. Este es un buen comienzo: http://windowsclient.net/learn/videos_wpf.aspx

Microsoft realmente tiene una introducción decente en MSDN: http://msdn.microsoft.com/en-us/library/aa970268.aspx

Enséñate a ti mismo WPF en 24 horas http://ecx.images-amazon.com/images/I/41ZM9hbeGoL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

http: // Enséñate a ti mismo WPF en 24 horas

Un recurso que encontré que realmente me ayudó fue la encoding de jfo: http://blogs.msdn.com/jfoscoding/articles/765135.aspx

El documento se titula “WPF para aquellos que conocen WinForms”, ¡que es exactamente la posición en la que estaba el año pasado!