2010-07-26 95 views
0

我有這樣的WPF組合框:如何綁定到ComboBox SelectedItem上的不同屬性?

<ComboBox Text="Select Language..." IsEditable="True" IsReadOnly="True" 
      ItemsSource="{Binding XPath=item/@name, Source={StaticResource Items}}" 
      SelectedItem="{Binding Path=Test, Mode=OneWayToSource}"/> 

其中項目是:

<XmlDataProvider x:Key="Items" Source="/itemlist.xml" XPath="/itemlist"/> 

測試是在視圖模型對象的類型設置爲DataContext的一個窗口的屬性。

一切工作正常,我的測試屬性收到XmlNode對象,這是有道理的。

不過,我想從XML獲得不同的屬性,例如XPath=item/@value

我該怎麼辦呢?

回答

1

使用DisplayMemberPathSelectedValuePath

<ComboBox Text="Select Language..." IsEditable="True" IsReadOnly="True" 
    ItemsSource="{Binding XPath=item, Source={StaticResource Items}}" 
    DisplayMemberPath="@name" 
    SelectedValuePath="@id" 
    SelectedValue="{Binding Path=Test, Mode=OneWayToSource}"/> 

所選項目將是item元件,它會顯示name屬性,並且將所述id屬性綁定到Test

+0

謝謝!這非常可愛。我不知道那些支持XPath的屬性。 – Kugel 2010-07-26 18:30:39

相關問題