Pregunta

Estoy tratando de usar un tipo anidado en mi ObjectDataSource a la este artículo. No parece estar funcionando para mí.

<ObjectDataProvider x:Key="myProvider" ObjectType="{x:Type local:OutsideClass+InsideClass}" MethodName="GetObjects" />
¿Fue útil?

Solución

Este es un problema conocido en VS 2008 y más allá. La posición oficial de Microsoft es que no debería estar haciendo esto:

Si bien el XAML que está escribiendo es claramente legal, funciona en tiempo de ejecución y se carga correctamente en Expression Blend, actualmente no creemos que el uso y el acceso a las clases anidadas de las extensiones de marcado sea muy común en la construcción de aplicaciones.

Otros consejos

Una forma de trabajar x:Type Las referencias a los tipos anidados es definir una nueva extensión de marcado y usarla en lugar del x:Type Extensión de marcado. Publiqué información sobre uno de esos, incluida la fuente de la Type2Extension clase, en esta respuesta.

los Type2Extension no producirá errores de diseñador como el TypeExtension lo hace. Quizás esto no ocurra en VS 2010.

La única advertencia es que la original TypeExtension Usted usa con {x:Type escribe un nombre} es un poco más robusto que Type2Extension (por ejemplo, verificar si los argumentos son nulos y de lanza excepciones).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top