我在这种情况下遇到了一些麻烦:
ComboBox cb = new ComboBox cb;
cb.ItemsSource = listItems; //ObservableCollection, contains objects with DependencyProperty "Name"
cb.DisplayMemberPath = "Name";
cb.SelectedValuePath = "Name";
Binding b = new Binding("NameOfItem");
b.Source = myObject; //Has DependencyProperty "NameOfItem"
b.Mode = BindingMode.TwoWay;
cb.SetBinding(ComboBox.SelectedValueProperty, b);
当我在组合框中选择另一个值时,有界源“myobject”得到更新。但是,当我只是更改 ItemsSource 中项目的名称时,组合框中的显示值确实会更新,但“myObject”没有收到通知,直到我重新选择组合框中的项目。