У меня есть два свойства типа ObservableCollection (в отдельных проектах); То, что я хочу сделать, это связать эти два с помощью отражения и SetBinding, как это -
//Get the PropertyDescriptor for first collection property
PropertyDescriptor relatedPropertyDesc = prop.Find(firstCollPropName, false);
Binding relatedPropBinding = new Binding(relatedPropertyDesc.Name);
relatedPropBinding.Source = this.SelectedItem;
relatedPropBinding.Mode = BindingMode.TwoWay;
//Bind the second collection property using binding created above
propItem.SetBinding(MyItem.SecondCollProperty, relatedPropBinding);
Этот SecondCollProperty затем привязывается к элементу Items ComboBox.
Таким образом, это работает правильно, значения, присутствующие в firstCollProperty, отображаются правильно в выпадающем списке; но если в firstCollProperty вносятся некоторые изменения во время выполнения, то они не отражаются в ComboBox! (добавление новых элементов или создание нового объекта коллекции).
Изменения корректно отражаются после обновления привязки (снова выполняется вышеуказанный код).
Мой вопрос - Если две ObservableCollections связаны друг с другом, почему какие-либо изменения первого не отражаются в другом? , но то же самое работает для свойств типа string или double.
Есть ли способ достичь этого?