visual-studio-2010 xaml markup-extensions

visual studio 2010 - VS2010 Custom MarkupExtension



visual-studio-2010 xaml (1)

He escrito algunas extensiones de marcado y, aunque el código se ejecuta, obtengo el error de Xaml como el que obtienes todo el tiempo. Suponiendo que tiene un código válido, encontré que la única forma de deshacerse de los errores era mediante la opción de reconstrucción y luego ejecutando la aplicación.

Por supuesto, el problema es que si lo cambias de nuevo o lo mueves, los errores parecen volver. Mi suposición es que la compilación estática no puede resolver completamente lo que esté haciendo su marcado y arroja el error en función de esto.

En mi caso, estaba escribiendo una carpeta de métodos y como el objeto era nulo hasta el tiempo de ejecución, terminé teniendo que usar Object () nuevo; y cambiarlo en tiempo de ejecución. Es raro, pero el error de compilación me estaba volviendo loco.

El analizador xaml parece ser mejor en 2012, pero incluso entonces hay algunos errores.

Acabamos de cambiar a vs2010 desde vs2008, y nuestros proyectos se compilan y funcionan bien sin ningún problema. Sin embargo, el diseñador xaml tiene algunos errores. Aquí está uno de los errores, espero que alguien pueda brindar una solución.

Tenemos una MarkupExtension personalizada, y la usamos en xaml para obtener ciertos recursos. Algo como esto:

<Button Style="{l:GetResource Key=MyButtonStyle}" />

Sé que podemos usar StaticResource o DynamicResource. Sin embargo, tenemos nuestros motivos para usar la extensión de marca personalizada.

El mensaje de error del diseñador es:

''GetResourceExtension'' no es válido para Setter.Value. Los únicos tipos soportados de MarkupExtension son DynamicResourceExtension y BindingBase o tipos derivados.

Mi pregunta es que el código funciona bien en vs2008, y también funciona bien en 2010, ¿cómo hacer que el diseñador 2010 funcione?