0

我在这种情况下遇到了一些麻烦:

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”没有收到通知,直到我重新选择组合框中的项目。

4

1 回答 1

0

将您的集合放入 ObservableCollection<> 并将您的组合框绑定到它。

ObservableCollection obc = new ObservableCollection(listItems);

阅读使用 ObservableCollection 时的常见错误

于 2012-09-11T08:25:37.387 回答