【发布时间】:2010-06-17 06:50:55
【问题描述】:
<EssenceList>
<Essence GUID="464">
<Properties>
<Property Name="Name">
<value>mt-1232-1. (1-1-3)</value>
</Property>
</Properties>
<Characteristics>
<Characteristic GUID="78">
<value>gadget</value>
</Characteristic>
<Characteristic GUID="79">
<value>measures</value>
</Characteristic>
</Characteristics>
<LinkedEssences>
<LinkType Type="ObjGroup">
<LinkedEssence GUID="369" />
</LinkType>
<LinkType Type="ObjGroupProp" />
<LinkType Type="RoleObject">
<LinkedEssence GUID="5747"/>
</LinkType>
</LinkedEssences>
</Essence>
...
<Essence GUID="5747" Type="Role">
<Properties>
<Property Name="Name">
<value>UKPG-22</value>
</Property>
<Property Name="TagPrefix">
<value>UKPG22</value>
</Property>
<Property Name="useParentTagPrefix">
<value>0</value>
</Property>
</Properties>
</Essence>
...
<Essence GUID="5748" Type="Role">
</Essence>
...
在示例中是一个 xml 文件,其中包含来自数据库的数据。现在我需要将它绑定到一些字段... 我在这里使用 XMLDataProvider
<Grid.DataContext>
<XmlDataProvider x:Name="dataxml" XPath="EssenceList/Essence" Source="464.xml"/>
</Grid.DataContext>
和我绑定的大多数简单的texbox
<TextBox Text="{Binding XPath=/EssenceList/Essence/LinkedEssences/LinkType[1]/LinkedEssence/@GUID}" />
但现在我需要以这种方式绑定组合框:
- 文档中的第一个 Essence 包含 LinkedEssences,其中包含 <LinkType Type="RoleObject"> 和 <LinkedEssence GUID="5747"/>
- 在下面的文档中有一个完整的描述,其中包含我需要的 NAME 属性
<Essence GUID="5747" Type="Role">
<Properties>
<Property Name="Name">
<value>UKPG-22</value>
</Property>
<Property Name="TagPrefix">
<value>UKPG22</value>
</Property>
<Property Name="useParentTagPrefix">
<value>0</value>
</Property>
</Properties>
</Essence>
以及此组合框的许多其他可用精华
我设法将它们的列表绑定到组合框
<ComboBox ItemTemplate="{StaticResource rolelistTemplate}" ItemsSource="{Binding XPath=/EssenceList/Essence[@Type]}" />
所以它显示得很好,但我无法将它绑定到我的 LinkedEssences。
【问题讨论】:
标签: wpf xml data-binding combobox