【发布时间】:2012-01-13 13:38:33
【问题描述】:
我有一个 WPF 数据网格和一个 xmlString,但在绑定它时遇到了问题。
我已阅读 this post 并按照说明进行操作,但无法正常工作。
我看到带有标题的列,但其中没有数据。有什么想法吗?
我应该说在加载窗口后单击按钮时调用后面的代码。
这是我的 XAML
<DataGrid x:Name="dtgMain" ItemsSource="{Binding Path=Elements[panel]}">
<DataGrid.Columns>
<DataGridTextColumn Header="PanelCode" Binding="{Binding Path=Element[panelCode].InnerText}"/>
</DataGrid.Columns>
</DataGrid>
这是我的代码隐藏
System.IO.StringReader reader = new System.IO.StringReader(response);
XElement results = XElement.Load(reader);
dtgMain.DataContext = results;
这是我的 xml
<data>
<load count="2">true
<panel index="10">
<panelCode>100072
</panelCode>
<panelName>COM0100072*A
</panelName>
<panelPart>100072
</panelPart>
<numberLayers>4
</numberLayers>
<panelSize.display>21.0 x 24.0
</panelSize.display>
<lastEdited.display>16/11/2011 17:13:39
</lastEdited.display>
<panelStatus.display>Measurements Stored
</panelStatus.display>
<lastEditor>admin
</lastEditor>
<numberBonds>1
</numberBonds>
<numberSubComponents>0
</numberSubComponents>
</panel>
<panel index="11">
<panelCode>100352
</panelCode>
<panelName>COM0100352*C
</panelName>
<panelPart>100352
</panelPart>
<numberLayers>8
</numberLayers>
<panelSize.display>18.0 x 24.0
</panelSize.display>
<lastEdited.display>16/11/2011 17:18:47
</lastEdited.display>
<panelStatus.display>Measurements Stored
</panelStatus.display>
<lastEditor>admin
</lastEditor>
<numberBonds>1
</numberBonds>
<numberSubComponents>0
</numberSubComponents>
</panel>
</load>
</data>
【问题讨论】:
-
在我看来,您应该使用
XmlDocument系列的 XML 类,因为它们支持Binding.XPath。 -
H.B 您能否发布一个代码示例或至少链接到一些示例?
-
在我链接到的
XPath属性文档中,逻辑上是 的一个示例。 -
HB 这个例子有两点突出。第一个是它使用静态 xml 文件而不是像我的示例中那样以编程方式生成的文件。第二件事是它绑定到列表框而不是数据网格。您能否举例说明如何在我的情况下使用它?
标签: c# wpf data-binding