Вопрос

Я хотел бы создать свой 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;

Интеллект правильно идентифицирует FooSource как "тип", который является тем, что ищет ObjectType, не так ли?

Это было полезно?

Решение

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

FooSourceDS.ObjectType = typeof(myNamespace.FooSource)

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top