Silverlight 4, привязка данных и динамические объекты - PullRequest
0 голосов
/ 28 мая 2011

У меня есть элемент управления, который использует привязку данных старого стиля через свойства * MemberPath.Однако моя ситуация требует использования DynamicObject.Когда вы получаете тип этого динамического объекта и вызываете GetProperty (..), он возвращает значение null (поскольку сам объект не содержит такого свойства - это динамическое свойство).Итак ... как я могу решить эту проблему?Как связать объект с динамическими свойствами, если в представлении используется подход связывания данных старого стиля?

1 Ответ

1 голос
/ 28 мая 2011

Вам немного не повезло в Silverlight 4. Silverlight 5 (в бета-версии) имеет интерфейс ICustomTypeProvider, позволяющий связываться с динамическими свойствами, но в Silverlight 4 его нет. До выхода Silverlight 5 у вас есть два варианта:

1) Написать преобразователь значения, чтобы получить значение от объекта.

OR

2) Имейте индексатор на вашем объекте, который, когда ему передают имя "свойства", возвращает соответствующее значение. Затем вы можете извлечь значение следующим образом:

Binding="{Binding [PropertyName]}"

Вариант 2 - лучший вариант ИМО.

...