Я хочу связать ComboBox с XElement из XDocument. В TwoWay-Переплётные работы на Textbox, но не на ComboBox:ComboBox привязка twoway с XElement
XAML:
<Window x:Class="ComboBoxBindingTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ComboBox Height="23" HorizontalAlignment="Left" Margin="31,38,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" SelectedValue="{Binding Path=Element[step].Element[schema].Value}" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="31,117,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" Text="{Binding Path=Element[step].Element[schema].Value}"/>
<TextBox Height="23" HorizontalAlignment="Left" Margin="31,214,0,0" Name="textBox2" VerticalAlignment="Top" Width="120" />
</Grid>
</Window>
CS:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
comboBox1.Items.Add(new Tuple<string, string>("1", "Wert 1"));
comboBox1.Items.Add(new Tuple<string, string>("2", "Wert 2"));
comboBox1.Items.Add(new Tuple<string, string>("3", "Wert 3"));
comboBox1.Items.Add(new Tuple<string, string>("4", "Wert 4"));
comboBox1.Items.Add(new Tuple<string, string>("5", "Wert 5"));
comboBox1.Items.Add(new Tuple<string, string>("6", "Wert 6"));
comboBox1.Items.Add(new Tuple<string, string>("7", "Wert 7"));
comboBox1.SelectedValuePath = "Item1";
comboBox1.DisplayMemberPath = "Item2";
XDocument doc = XDocument.Parse("<dir><step><schema>2</schema></step></dir>");
DataContext = doc.Element("dir");
}
}
Изменение текста в текстовом поле на другой номер от 1 до 7 результатов в обновлении comboBox, но не наоборот. Значение в XML не изменяется при изменении выбора comboBox.
Что не так в связке ComboBox?
Благодаря
Действительно ли необходимо использовать SelectedValue? Можете ли вы использовать SelectedItem вместо этого? Кажется, SelectedValue работает неправильно: http://stackoverflow.com/questions/247413/wpf-combobox-selectedvalue-not-updating-from-binding-source –
У меня есть только значение выбранного элемента в xml (как показано в примере кода), поэтому я думаю, что мне нужно использовать свойство SelectedValue, поскольку у меня нет элемента. –