我有了ObservableCollection
類型的DependencyProperty
綁定到一個observableCollection
自定義控制:集合依賴屬性
<MyControl MyCollectionProperty = {Binding MyObservableCollection} ...
問題是增加了MyObservableCollection
不更新MyCollectionProperty
。
我需要完全取代MyObservableCollection
才能使其工作,例如,
MyObservableCollection = null;
MyObservableCollection = new ObservableCollection(){...}
有沒有更好的方法來處理這個問題?
編輯:
public ObservableCollection<string> Columns
{
get { return (ObservableCollection<string>)GetValue(ColumnsProperty); }
set { SetValue(ColumnsProperty, value); }
}
public static readonly DependencyProperty ColumnsProperty =
DependencyProperty.Register("Columns", typeof(ObservableCollection<string>), typeof(MyControl),
new PropertyMetadata(new ObservableCollection<string>(), OnChanged));
你會發布你的依賴屬性的定義嗎?可能是在那裏的東西... – 2013-02-22 01:13:02
是你的「MyControl」監視PropertyChanged或CollectionChanged,並且你監視你的可觀察集合中的對象的PropertyChanged? – grantnz 2013-02-22 01:15:04
是的,在定義和處理程序中有一個回調CollectionChanged永遠不會被解僱。由於我們正在討論添加,我沒有看到在項目上監聽PropertyChanged的位置是相關的。 – user1604008 2013-02-22 01:34:34