【问题标题】:Binding XamDataGrid to XmlDataProvider in MVVM在 MVVM 中将 XamDataGrid 绑定到 XmlDataProvider
【发布时间】:2013-06-06 19:45:49
【问题描述】:

我无法在我的 MVVM 样式项目中将 XamDataGrid 绑定到 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 方式。

This solution 似乎不适用于 XamDataGrid。

【问题讨论】:

    标签: wpf mvvm infragistics xamdatagrid xmldataprovider


    【解决方案1】:

    这行得通:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-14
      • 1970-01-01
      相关资源
      最近更新 更多