2010-06-17 157 views
2
<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這裏將組合框綁定到XML(wpf)

<Grid.DataContext> 
     <XmlDataProvider x:Name="dataxml" XPath="EssenceList/Essence" Source="464.xml"/> 
    </Grid.DataContext> 

和mostof簡單texboxes我喜歡綁定

<TextBox Text="{Binding XPath=/EssenceList/Essence/LinkedEssences/LinkType[1]/LinkedEssence/@GUID}" /> 

,但現在我需要這樣一個綁定組合框: - 文檔中的第一個實質包含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> 

和許多其他可用的香精此組合框

我設法結合thems的列表,組合框

<ComboBox ItemTemplate="{StaticResource rolelistTemplate}" ItemsSource="{Binding XPath=/EssenceList/Essence[@Type]}" /> 

,使其顯示得很好,但我不能把它綁定到我的LinkedEssences 。

回答

0

我已經通過這個

<ComboBox SelectedValuePath="@GUID" SelectedValue="{Binding XPath=/EssenceList/Essence[1]/LinkedEssences/LinkType[3]/LinkedEssence[1]/@GUID}" ItemTemplate="{StaticResource rolelistTemplate}" ItemsSource="{Binding XPath=/EssenceList/Essence[@Type]}" IsSynchronizedWithCurrentItem="True" /> 

,所以我只設置SelectedValuePath到屬性和的SelectedValue到外地,我需要將其保存)

解決了這個問題根本