คำถามติดแท็ก observablecollection

4
ความแตกต่างระหว่าง ObservableCollection และ BindingList
ฉันต้องการทราบความแตกต่างระหว่างObservableCollectionและBindingListเนื่องจากฉันใช้ทั้งคู่เพื่อแจ้งให้ทราบถึงการเปลี่ยนแปลงเพิ่ม / ลบใด ๆ ในแหล่งที่มา ทำไมฉันต้องเลือกข้อใดข้อหนึ่งต่อไปนี้ ObservableCollection<Employee> lstEmp = new ObservableCollection<Employee>(); หรือ BindingList<Employee> lstEmp = new BindingList<Employee>();


18
ObservableCollection ไม่สังเกตเห็นเมื่อรายการที่มีการเปลี่ยนแปลง (แม้จะมี INotifyPropertyChanged)
ไม่มีใครรู้ว่าทำไมรหัสนี้ใช้งานไม่ได้: public class CollectionViewModel : ViewModelBase { public ObservableCollection<EntityViewModel> ContentList { get { return _contentList; } set { _contentList = value; RaisePropertyChanged("ContentList"); //I want to be notified here when something changes..? //debugger doesn't stop here when IsRowChecked is toggled } } } public class EntityViewModel : ViewModelBase { private bool …

12
ObservableCollection ไม่รองรับวิธี AddRange ดังนั้นฉันจึงได้รับแจ้งเมื่อเพิ่มรายการแต่ละรายการนอกเหนือจาก INotifyCollectionChanging แล้ว
ฉันต้องการเพิ่มช่วงและรับการอัปเดตสำหรับกลุ่มทั้งหมด ฉันยังต้องการที่จะสามารถยกเลิกการกระทำก่อนที่จะทำ (เช่นการเปลี่ยนแปลงคอลเลกชันนอกเหนือจาก 'เปลี่ยน') ที่เกี่ยวข้อง Q คอลเลกชัน. Net ใดสำหรับการเพิ่มวัตถุหลายรายการพร้อมกันและรับการแจ้งเตือน

23
ฉันจะจัดเรียงคอลเล็กชันที่สังเกตได้อย่างไร
ฉันมีชั้นเรียนต่อไปนี้: [DataContract] public class Pair<TKey, TValue> : INotifyPropertyChanged, IDisposable { public Pair(TKey key, TValue value) { Key = key; Value = value; } #region Properties [DataMember] public TKey Key { get { return m_key; } set { m_key = value; OnPropertyChanged("Key"); } } [DataMember] public TValue Value { get { …

20
เมื่อล้าง ObservableCollection ไม่มีรายการใน e.OldItems
ฉันมีบางอย่างที่นี่ที่ทำให้ฉันไม่ทันระวัง ฉันมี ObservableCollection ของ T ที่เต็มไปด้วยไอเท็ม ฉันยังมีตัวจัดการเหตุการณ์ที่แนบมากับเหตุการณ์ CollectionChanged เมื่อคุณล้างคอลเลกชันจะทำให้เกิดเหตุการณ์ CollectionChanged ด้วย e.Action ที่ตั้งค่าเป็น NotifyCollectionChangedAction.Reset โอเคเป็นเรื่องปกติ แต่สิ่งที่แปลกคือไม่มี e.OldItems หรือ e.NewItems มีอะไรอยู่ในนั้น ฉันคาดหวังว่า e.OldItems จะเต็มไปด้วยรายการทั้งหมดที่ถูกลบออกจากคอลเลกชัน มีใครเห็นสิ่งนี้อีกบ้าง? แล้วถ้าเป็นเช่นนั้นพวกเขาไปถึงมันได้อย่างไร? ความเป็นมาบางประการ: ฉันใช้เหตุการณ์ CollectionChanged เพื่อแนบและแยกออกจากเหตุการณ์อื่นดังนั้นหากฉันไม่ได้รับไอเท็มใด ๆ ใน e.OldItems ... ฉันจะไม่สามารถแยกออกจากเหตุการณ์นั้น ชี้แจง: ฉันจะรู้ว่าเอกสารไม่ตรงไปตรงมาว่ารัฐจะมีการทำงานในลักษณะนี้ แต่สำหรับการกระทำอื่น ๆ มันเป็นการแจ้งให้ฉันทราบถึงสิ่งที่ทำลงไป ดังนั้นสมมติฐานของฉันก็คือมันจะบอกฉัน ... ในกรณีของ Clear / Reset เช่นกัน ด้านล่างนี้คือตัวอย่างโค้ดหากคุณต้องการทำซ้ำด้วยตัวเอง ก่อนอื่นจาก xaml: <Window …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.