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の方法です。
このソリューションは、XamDataGrid では機能しないようです。