Преобразование XAML ObjectDataProvider в C # - PullRequest
2 голосов
/ 10 декабря 2008

Я хотел бы создать объект ObjectDataProvider в своем коде C #, а не в своем XAML.

Мне было интересно, как преобразовать этот XAML в эквивалентный C #. XAML был создан Microsoft Expression Blend 2, поэтому пространство имен d: можно безопасно игнорировать.

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

myNS - это пространство имен, ссылающееся на мой объект CLR.

Я зациклен на указании ObjectType в C #:

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

Intellisence правильно идентифицирует FooSource как «тип», который и ищет ObjectType, не так ли?

Ответы [ 2 ]

5 голосов
/ 10 декабря 2008

Ответ на ваш вопрос состоит в том, что написал @Bryan, но перепроверьте, хотите ли вы ObjectDataProvider на уровне кода или нет. ObjectDataProvider - это просто XAML-способ создания конкретного класса для привязки. Но если вы хотите кодировать на C #, то вам действительно не нужен ObjectDataProvider. Просто создайте экземпляр FooSource и используйте его.

5 голосов
/ 10 декабря 2008

Это то, что вам нужно?

FooSourceDS.ObjectType = typeof(myNamespace.FooSource)
...