Как я могу установить свойство SelectedIndex ComboBox, которое связано с XML на основе атрибута в этом XML?
У меня есть WPF Combobox, определенный так:
<ComboBox Grid.Column="1" x:Name="cUrls" SelectedIndex="1" ItemsSource=" {Binding XPath=//data/endpoints/endpoint}" Margin="5" >
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding XPath=@name}"></TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Окно привязано к XmlDocument следующим образом:
<?xml version="1.0" encoding="utf-8" ?>
<data>
<endpoints>
<endpoint name="test">test url</endpoint>
<endpoint default="true" name="production">production url</endpoint>
</endpoints>
<requests>
<request >
...
</request>
<request >
...
</request>
</requests>
</data>
Привязка работает нормально, а в поле со списком отображаются элементы "test" и "production", и я могу извлечь правильный URL из свойства SelectedValue.
Я хотел бы иметь возможность установить SelectedIndex
свойство в ComboBox к индексу <endpoint>
узел, который имеет default=true
приписывать.
Я могу сделать SelectedIndex="{Binding XPath=}"
на ComboBox? Если да, как бы выглядело это выражение? Если нет, что мне делать?
Спасибо!
1 ответ
Пытаться
<ComboBox x:Name="cUrls"
SelectedItem="{Binding XPath=/data/endpoints/endpoint[@default\=\'true\']}"