У меня есть поле со списком, и его свойство datacontext присвоено ObservableCollection.
<ComboBox
Name="CB"
ItemsSource="{Binding}"
DisplayMemberPath="Name"
IsSynchronizedWithCurrentItem="True">
</ComboBox>
<TextBlock
Name="TB"
Text="{Binding ElementName=CB,Path=SelectedItem.Name,UpdateSourceTrigger=PropertyChanged}"
></TextBlock>
C #
class Person
{
public string Name { get; set; }
}
ObservableCollection<Person> people = new ObservableCollection<Person>( new List<Person>()
{
new Person(){Name="A"},
new Person(){Name="B"},
new Person(){Name="C"},
new Person(){Name="D"},
});
people[0].Name = "Z"; // When button clicked, i execute this
У меня также есть кнопка, при нажатии которой имя первого сотрудника обновляется на другое имя.
Когда выбран первый сотрудник, и я нажал кнопку, даже если основное имя изменилось, оно не отобразится в пользовательском интерфейсе, пока я не изменю выбранный элемент и не выберу первый.
Что я должен сделать, чтобы достичь того, чего я хочу?Я думал, когда ObservableCollection, что combobox связан с изменениями, это будет отражено в пользовательском интерфейсе.