首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在虚拟机中将XamDataGrid绑定到XmlDataProvider

在虚拟机中将XamDataGrid绑定到XmlDataProvider
EN

Stack Overflow用户
提问于 2013-06-07 03:45:50
回答 1查看 972关注 0票数 0

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

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

View.xaml

代码语言:javascript
复制
<igDP:XamDataGrid DataSource="{Binding Source=provider, XPath=Row, Mode=OneWay}" />

ViewModel.cs

代码语言:javascript
复制
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字符串

代码语言:javascript
复制
<Results>
    <Row>
        <! -- my data -->
    </Row>

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

我可以通过代码隐藏的方式很容易地做到这一点,只需遵循示例Infragistics代码即可。但是,这是MVVM的方式,我有困难。

对于XamDataGrid,This solution似乎不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-08 00:04:54

这是可行的:

代码语言:javascript
复制
<igDP:XamDataGrid DataContext="{Binding provider}" DataSource="{Binding XPath=Row, Mode=OneWay}" />

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

代码语言:javascript
复制
private set
{
    _provider = value;
    OnPropertyChanged("provider");
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16970870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档