2008-12-10 8 views
2

Je souhaite créer mon objet ObjectDataProvider dans mon code C# plutôt que mon code XAML.Conversion de ObjectDataProvider XAML en C#

Je me demandais comment changer ce XAML en C# équivalent. Le code XAML a été généré par Microsoft Expression Blend 2, de sorte que l'espace de noms d: peut être ignoré en toute sécurité.

<ObjectDataProvider x:Key="FooSourceDS" ObjectType="{x:Type myNS:FooSource}" d:IsDataSource="True"/> 

myNS est un espace de noms référençant mon objet CLR.

J'enferrons sur la spécification du TypeObjet en C#:

ObjectDataProvider FooSourceDS = new ObjectDataProvider(); 
FooSourceDS.ObjectType = myNamespace.FooSource; 

Le Intellisence est d'identifier correctement les FooSource comme un « type » qui est ce que TypeObjet recherche est-il pas?

Répondre

5

Est-ce ce que vous cherchez?

FooSourceDS.ObjectType = typeof(myNamespace.FooSource) 
5

La réponse à votre question est ce qu'écrit @Bryan, mais il faut vérifier si vous voulez croix un ObjectDataProvider au niveau du levier de code ou non. ObjectDataProvider est juste un moyen XAML d'instancier une classe particulière pour la liaison. Mais si vous souhaitez coder en C#, vous n'avez pas besoin d'ObjectDataProvider. Créez simplement une instance de FooSource et utilisez-la.