Привязка XamDataGrid к XmlDataProvider в MVVM

Я не могу связать XamDataGrid для XmlDataProvider собственность в моем проекте в стиле MVVM.

Я получаю строку XML из вызова WebService, создаю XmlDataProvider и затем пытаюсь привязать ее к XamDataGrid. XmlDataProvider правильно инициализируется. Это просто обязательная часть, которая не подходит.

View.xaml

<igDP:XamDataGrid DataSource="{Binding Source=provider, XPath=Row, Mode=OneWay}" />


ViewModel.cs

public XmlDataProvider provider { get; private set; }

private void method()
{
            string xmlString = webservice.runQuery();

            // prepare xml
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xmlString);

            provider = new XmlDataProvider();

            if (provider != null)
            {
                provider.Document = doc;
                provider.XPath = "/Results";
            }
}


Пример строки XML

<Results>
    <Row>
        <! -- my data -->
    </Row>

    <Row>
        <! -- my data -->
    </Row>
</Results>

Я смог сделать это без особых трудностей в коде, следуя примеру кода Infragistics. Но с MVVM у меня проблемы с этим.

Это решение, похоже, не работает для XamDataGrid.

1 ответ

Решение

Это сработало:

<igDP:XamDataGrid DataContext="{Binding provider}" DataSource="{Binding XPath=Row, Mode=OneWay}" />

Кроме того, мне изначально не хватало следующего:

private set
{
    _provider = value;
    OnPropertyChanged("provider");
}
Другие вопросы по тегам