0

我无法将 a 绑定XamDataGridXmlDataProvider我的 MVVM 样式项目中的属性。

我从 WebService 调用中获取 XML 字符串,创建 XmlDataProvider,然后尝试将其绑定到 XamDataGrid。XmlDataProvider 正在正确初始化。只是绑定部分不正确。

查看.xaml

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


视图模型.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。

4

1 回答 1

1

这有效:

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

另外,我最初缺少以下内容:

private set
{
    _provider = value;
    OnPropertyChanged("provider");
}
于 2013-06-07T16:04:54.257 回答