我难住了。我有以下 XML,我认为它实际上来自另一个 StackOverflow 问题。
<?xml version="1.0" encoding="utf-8" ?>
<HousingShapes>
<Shape Name="Rectangular" id="1/3"/>
<Shape Name="Circular" id="1/34" />
<Shape Name="Triangular" id="1/23" />
<Shape Name="Other Shape" id="1/15" />
</HousingShapes>
我在 XAML 中绑定了这样的数据
<Window.Resources>
<XmlDataProvider x:Key="xmlData" Source="d:\people.xml" XPath="HousingShapes"/>
</Window.Resources>
下面是我的组合框
<ComboBox Height="23" HorizontalAlignment="Left" Margin="97,52,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" ItemsSource="{Binding Source={StaticResource xmlData}, XPath=./Shape}" DisplayMemberPath="@Name" SelectedValuePath="{Binding Source={StaticResource xmlData}, XPath=./Shape}" SelectedValue="@id" />
我希望用户在组合框中看到“形状名称”,即矩形。这一点有效。但我希望在添加数据时使用 id。作为测试,我写了以下内容
private void button1_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(comboBox1.SelectedValuePath);
}
期望在选择矩形时看到 1/3,或者在选择“其他形状”时看到 1/15,但什么也没有。