Псевдосвойство Element
доступно только в настольной версии .NET.Он опирается на систему дескрипторов типов, которая является одной из частей .NET Framework, отсутствующей в Silverlight.
В полной .NET Framework, XElement
имеет атрибут [TypeDescriptionProvider(typeof(XTypeDescriptionProvider<XElement>))]
, то естьElement
и другие псевдосвойства подвергаются привязке данных.Этот атрибут отсутствует в версии Silverlight XElement
.(И он не может присутствовать, потому что Silverlight не предоставляет определения TypeDescriptionProvider
или какого-либо связанного механизма за этим атрибутом.
Silverlight не предоставляет прямой способ привязки к содержимому XML. (Он также не поддерживает XPath, который является другим популярным решением в WPF.) Вы можете посмотреть Связывание XML в Silverlight без номинальных классов , которое ссылается на статью Грэма Мюррея, в которой показано, как генерировать.связываемые типы динамически.
Это довольно сложное решение, хотя я думаю, что я просто напишу тип оболочки для XML, который включает в себя нужные данные, и использую LINQ to XML, чтобы заполнить эти оболочки из XML.