установить источник XmlDataProvider без сохранения файла - PullRequest
1 голос
/ 07 июля 2010

в моем браузере wpf-приложения я использую привязку данных к xml, которая поступает из моей базы данных. чтобы лучше связать его, я использую XmlDataProvider.

в начале я объявляю

<Grid.DataContext>
    <XmlDataProvider x:Name="listdataxml" XPath="EssenceList/Essence" Source="model.xml"/>
</Grid.DataContext>

но позже мне нужно указать на новый XDocument. Вопрос: есть ли способ установить мой XmlDataProvider в XDocument, не сохраняя его где-нибудь и не используя URI?

1 Ответ

3 голосов
/ 07 июля 2010

Вы можете преобразовать XDocument в XmlDocument в памяти, а затем установить свойство Document в listdataxml. См. этот вопрос StackOverflow о том, как преобразовать XDocument в XmlDocument.

В совокупности это будет выглядеть так:

var xmlDocument = new XmlDocument();
using (var xmlReader = xDocument.CreateReader())
{
    xmlDocument.Load(xmlReader);
}
listdataxml.Document = xmlDocument;
...