我有 2 个DataGrid
和一个XmlDataProvider
用于 XML 文件。XML 文件结构如下所示:
<Setting>
<Element Name="..." Offset="..." ID="...">
<Item Name="..." Type="..." Count="..." ID="..." />
<Item Name="..." Type="..." Count="..." ID="..." />
<Item Name="..." Type="..." Count="..." ID="..." />
...
</Element>
<Element Name="..." Offset="..." ID="...">
<Item Name="..." Type="..." Count="..." ID="..." />
<Item Name="..." Type="..." Count="..." ID="..." />
</Element>
...
</Setting>
我需要在 first 中显示所有 Elements 的属性DataGrid
值,并在 secondDataGrid
中使用 same显示所有 Items 的属性值XmlDataProvider
。
XAML 在 first 中显示所有元素的属性值DataGrid
:
...
<Grid.DataContext>
<XmlDataProvider x:Name="xml_setting" XPath="/Setting/Element"/>
</Grid.DataContext>
<DataGrid ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Width="*" Binding="{Binding XPath=@Name}"/>
<DataGridTextColumn Header="Offset" Width="80" Binding="{Binding XPath=@Offset}"/>
<DataGridTextColumn Header="ID" Width="80" Binding="{Binding XPath=@ID}"/>
</DataGrid.Columns>
</DataGrid>
...
我尝试设置XmlDataProvider XPath
“/Setting”中的Columns XPath
值和“/Element/@Name”、“/Element/@Offset”和“/Element/@ID”中的值,但只显示第一个元素。
如何使用一个XmlDataProvider
绑定到不同的不同列DataGrids
以显示 XML 文件不同节点的属性值?