0
我試圖實施一個收藏類(來自ObservableCollection
或BindingList
),這將允許我取消添加任何新項目。可取消的收藏
現在我知道ObservableCollection
不允許CollectionChanged
事件是有原因的,在收集中的項目的編輯,但我從ObservableCollection
或BindingList
推導尋找一種方式來「旁路」這兩種。
任何示例將不勝感激。
我試圖實施一個收藏類(來自ObservableCollection
或BindingList
),這將允許我取消添加任何新項目。可取消的收藏
現在我知道ObservableCollection
不允許CollectionChanged
事件是有原因的,在收集中的項目的編輯,但我從ObservableCollection
或BindingList
推導尋找一種方式來「旁路」這兩種。
任何示例將不勝感激。
那麼,你需要一些BeforeCollectionChanged
事件,通過EventArgs
與Cancelled
財產,你看看以確定是否添加它。
有點像這一點,我想:
public override void Add(T item) {
var e = new BeforeCollectionChangedEventArgs();
RaiseBeforeCollectionChanged(e);
if (!e.Canceled)
base.Add(item);
}
CollectionChanged
顯然爲時已晚,因爲屆時收集已經已被改變。