WPF: Habilitar la depuración de XAML

Uno de los problemas más habituales a la hora de depurar una aplicación WPF, es el de cometer errores dentro del XAML que define nuestra interfaz. Por defecto las excepciones nos muestran un mensaje que de poco ayuda:

Error in markup file ‘Namespace;component/WMain.xaml’ Line 1 Position 9.

Si nos paramos a pensar unos segundos en la estructura de las ventanas en XAML, rápidamente nos daremos cuenta que en la primera línea, en la posición 9, está parte de la definición de nuestra ventana, y rara vez es la causante del problema.

Por defecto, Visual Studio no muestra los detalles de las excepciones que son provocadas por un error en el XAML, pero esto lo podemos cambiar siguiendo estos sencillos pasos:

  1. Pulsamos sobre el menú Debug (Depuración)
  2. Seleccionamos Exceptions… (Excepciones) Ctrl+Alt+G
  3. En la ventana que se nos muestra pulsamos el botón Add… (Añadir)
  4. Seleccionamos en el campo Type: Common Language Runtime Exceptions
  5. Escribimos en el campo Name: System.Windows.Markup.XamlParseException
  6. Desplegamos el árbol de Common Language Runtime Exceptions y marcamos la casilla de Thrown

excepciones

Acto seguido volveremos a depurar la aplicación, lo que, una vez se dispare la excepción, nos mostrará un mensaje como el que sigue:

Cannot convert the value in attribute ‘Background’ to object of type ‘System.Windows.Media.Brush’. Token is not valid.  Error at object ‘System.Windows.Controls.Grid’ in markup file ‘Namespace;component/WMain.xaml’ Line 10 Position 6.

El grupo de producto está trabajando en la mejora de este aspecto en la versión 2008 de Visual Studio (Antes conocida como Orcas).

Espero que este pequeño truco os resulte de utilidad y os  ayude a solucionar algún que otro problema.

Errores en el Hardware de la XBox 360

Me hago eco de esta noticia que acabo de ver en la CNN, Microsoft ha detectado errores en el Hardware de la XBox 360, lo que les obligará a gastar un Billón de dolares en reparaciones, según estimaciones de Microsoft.


Pero no todo son malas noticias, ya que Microsoft ha decidido ampliar el periodo de garantía de las videoconsolas para que el usuario final no sea el perjudicado con este error.


Un saludo