Я в тупике. У меня есть следующий XML, я думаю, что он был взят из другого вопроса StackOverflow.Bind xml to combobox
<?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 ниже
<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" />
Я хочу, чтобы пользователь видел 'Shape Имя' т.е. Прямоугольный в ComboBox. Этот бит работает. Но я хочу, чтобы идентификатор использовался при добавлении данных. как испытание, я написал следующее
private void button1_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(comboBox1.SelectedValuePath);
}
Ожидая увидеть 1/3, когда Прямоугольный была выбрана или 1/15, когда была выбрана «Другие формы», но ничего.
Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –
Хорошо, спасибо, Джон. – James