在MVVM中绑定XamDataGrid和XmlDataProvider



我无法将XamDataGrid绑定到我的MVVM风格项目中的XmlDataProvider属性。

我从WebService调用中获得XML字符串,创建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

成功了:

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

另外,我最初遗漏了以下内容:

private set
{
    _provider = value;
    OnPropertyChanged("provider");
}

相关内容

  • 没有找到相关文章

最新更新