0

我有一个 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 代码

4

1 回答 1

0

您可以使用 anXmlDataProvider从 XML 文件中检索字段:

<XmlDataProvider x:Key="xml" Source="data.xml" />

然后XPath使用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);
}
于 2012-10-20T06:57:33.723 回答