La conversión de XAML ObjectDataProvider a C #
-
21-08-2019 - |
Pregunta
Me gustaría crear mi ObjectDataProvider en mi código C # en lugar de detrás de mi XAML.
Me preguntaba cómo cambiar esta XAML a su equivalente en C #. El XAML se generó por Microsoft Expression Blend 2, por lo que el d:. Espacio de nombres puede ser ignorado con seguridad
<ObjectDataProvider x:Key="FooSourceDS" ObjectType="{x:Type myNS:FooSource}" d:IsDataSource="True"/>
myNS es un espacio de nombres referencia a mi objeto CLR.
Me voy a colgar sobre la especificación del ObjectType en C #:
ObjectDataProvider FooSourceDS = new ObjectDataProvider();
FooSourceDS.ObjectType = myNamespace.FooSource;
El Intellisence es identificar correctamente FooSource como un 'tipo' que es lo que ObjectType está buscando no es así?
Solución
¿Es esto lo que necesita?
FooSourceDS.ObjectType = typeof(myNamespace.FooSource)
Otros consejos
La respuesta a su pregunta es lo que escribió @Bryan, pero el tiro cruzado compruebe si quieres un ObjectDataProvider en la palanca de código o no. ObjectDataProvider es sólo una forma de XAML de crear instancias de una clase en particular para la unión. Pero si desea código en C # y luego usted no requieren realmente ObjectDataProvider. Basta con crear una instancia de la FooSource y utilizarlo.