El consejo sobre VS2010 es muy bueno; su diseñador visual es realmente útil, en comparación con el diseñador XAML de VS2008, que fue menos que inútil.
La máquina de relaciones públicas de Microsoft empuja el patrón "Model-View-ViewModel" extensivamente para aplicaciones de línea de negocios, hasta el punto en que realmente recomiendan cosas que pueden perder el tiempo.
Do no gastar horas tratando de meter todo en XAML, a menos que su empresa o cliente tenga procedimientos que lo requieran. Si puede codificarlo más rápido en VB o C#, y el código es aún mantenible, comprobable y legible, hágalo.
Do no convertirse en un purista MVVM; ni siquiera Microsoft ha descubierto el equilibrio apropiado para este patrón, e incluso con las cosas de Silverlight 4, no han presentado un buen conjunto de herramientas de desarrollo o mejores prácticas para el patrón, a pesar de que ya han pasado casi cinco años desde primero fue propuesto; Todavía hay razones muy válidas para abandonar ICommand e INotifyPropertyChanged a favor de simplemente llamar a un método en su ViewModel desde el código subyacente. Además, ningún experto de WPF/Silverlight que no sea de Microsoft que haya escuchado en los últimos meses ha fallado al decir: "Todavía no estoy seguro acerca de MVVM, no soy purista".
Encuentre un equilibrio y use XAML para lo que le funciona, y C# o VB para lo que funciona para usted. A los desarrolladores de MS en sus blogs les gusta llamar a XAML "markup", y C# o VB es "código, desafortunadamente". Bueno, si lo estás escribiendo o dibujando, todo es código, y la verdad es que todo lo que XAML se interpreta y luego se convierte en C# o VB en archivos que no puedes ver o editar fácilmente, antes de que se compilen . (Por ejemplo, Application.g.vb se genera desde Application.xaml como una clase parcial.)
Existen construcciones XAML como animaciones y guiones gráficos que tienen muchas líneas para trazar en XAML, pero en los lenguajes de procedimiento solo puede tome una o dos líneas de código y, de hecho, sea más fácil de leer, especialmente si la animación responde a un evento solo bajo ciertas condiciones. Haz lo que funciona mejor.
Además, si está programando y sigue atacando excepciones en tiempo de ejecución que no tienen sentido, retroceda un paso, encuentre una respuesta alternativa que lo ponga en funcionamiento e impleméntelo. La mayoría de los errores XAML no pueden ser capturados por Intellisense o el compilador. Es posible golpearse la cabeza durante semanas contra un problema XAML, que puede codificarse en C# o VB con una unión temprana en un tiempo comparativamente mucho más corto.
En resumen, relájese y codifique sus mejores prácticas, utilizando las herramientas VS2010, y debería poder aumentar la velocidad.
"¿Has experimentado algo similar?" Sí definitivamente. Ojalá hubiera una forma de crear "ventanas/formularios" simples en WPF que se parezcan a WinForms. – AMissico