我有一个WPF组合框
<ComboBox x:Name="tCountry" HorizontalAlignment="Left" Margin="96,151,0,0" VerticalAlignment="Top" Width="146" TabIndex="6"/>
和我从unicode中提取的一些xml数据(CLDRs)
<?xml version="1.0" encoding="UTF-8" ?>
<country>
<territory type="AC">Ascension Island</territory>
<territory type="AD">Andorra</territory>
<territory type="AE">United Arab Emirates</territory>
<territory type="AF">Afghanistan</territory>
<territory type="AG">Antigua and Barbuda</territory>
<territory type="AI">Anguilla</territory>
<territory type="AL">Albania</territory>
....
</country>
我怎么能拥有它以便Combobox填充这些国家,以便我可以在vb.net中提交数据时提取2个字母的iso代码
答案 0 :(得分:0)
您可以使用XmlDataProvider
从XML文件中检索字段:
<XmlDataProvider x:Key="xml" Source="data.xml" />
然后使用XPath
属性{/ 1}}使用SelectedValuePath
绑定它:
<ComboBox ItemsSource="{Binding Source={StaticResource xml},XPath=/country/territory}"
SelectedValuePath="{Binding XPath=@type}" />
现在使用SelectedValue
来获取缩写(或使用绑定)。
private void combo_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MessageBox.Show((string)(sender as ComboBox).SelectedValue);
}