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 内の項目の名前を変更すると、comboBox 内の表示値は実際に更新されますが、"myObject" は、comboBox 内の項目を再選択するまで通知を受け取りません。

4

1 に答える 1

0

コレクションを ObservableCollection<> に配置し、コンボボックスをそれにバインドします。

ObservableCollection obc = new ObservableCollection(listItems);

ObservableCollection の使用中によくある間違いを読む

于 2012-09-11T08:25:37.387 に答える