ObservableCollection ve BindingList arasındaki fark
Bilmek istiyorum arasındaki fark ObservableCollection
BindingList
çünkü ben de kullandım hem de bilgilendirmek için herhangi bir Ekle/sil değiştir Kaynağı, ama ben gerçekten bilmiyorum ne zaman tercih bir yere.
Neden diğer aşağıdakilerden birini seçtim?
ObservableCollection<Employee> lstEmp = new ObservableCollection<Employee>();
ya
BindingList<Employee> lstEmp = new BindingList<Employee>();
CEVAP
ObservableCollection
tam olarak herhangi bir koleksiyon gibi UI üzerinden güncellenebilir. Gerçek fark oldukça basittir:
ObservableCollection<T>
toplama değiştirildiğinde bildirim sağlar INotifyCollectionChanged
(^^tahmin)uygular
Bağlama motor ObservableCollection
güncellenir UI güncellemek için izin verir.
Ancak, BindingList<T>
IBindingList
uygular.
IBindingList
toplama değişiklik bildirimi, ama sadece o değil sağlar. Değişikliklere göre sadece güncellemeleri UI çok daha fazla şeyler sağlamak için UI gibi kullanılabilecek işlevsellik bir sürü sunuyor:
- Sıralama
- Arama
- Fabrika (AddNew üye işlev ekleyin.
- Salt okunur listesi (CanEdit özelliği)
Tüm bu fonksiyonlar ObservableCollection<T>
kullanılamaz
Başka bir fark BindingList
öğeleri INotifyPropertyChanged
uygulamak madde değişikliği bildirimleri aktaran. Eğer bir öğe yükseltir PropertyChanged
olay, BindingList
ecek almak bir yükseltir ListChangedEvent
ListChangedType.ItemChanged
OldIndex=NewIndex
(eğer bir şey yerine, OldIndex=-1
). ObservableCollection
madde bildirimleri geçiş yok.
Silverlight, BindingList
bir seçenek olarak kullanılabilir not: ancak ObservableCollection
s ICollectionView
(ve eğer yanlış hatırlamıyorsam IPagedCollectionView
) kullanabilirsiniz.
Eclipse Package Explorer ve Eclipse Pr...
Varchar ve varchar2 arasındaki fark ne...
Arasındaki fark .tagName .nodeName...
Nasıl Gıt ile iki tarih arasında meyda...
'süreç arasındaki fark ne.() bası...