[ad_1]
हाय दोस्तों।
मेरे पास एक अवलोकन संग्रह है।
मैंने इवेंट कलेक्शनचेंज्ड का उपयोग किया।
लेकिन यह ईवेंट केवल तभी उठता है जब कोई नया आइटम जोड़ा जाता है, या कोई आइटम हटा दिया जाता है।
तो मैं कैसे पता लगा सकता हूँ कि कोई आइटम संपादित किया गया है?
(और हां, यह पता लगाना भी बेहतर होगा कि किस आइटम को संस्करण मिला है।)
कृपया कोई मदद?
मैंने क्या प्रयास किया है:
वीबी.नेट
Imports System.Collections.ObjectModel Public Class Person Public Property Name As String End Class Public listORG As New ObservableCollection(Of Person)() Sub New() InitializeComponent() Dim names As New List(Of String) From {"Alice", "Bob", "Charlie", "David", "Eve", "Frank", "Grace", "Harry", "Ivy", "Jack"} Dim rand As New Random() For i As Integer = 0 To 29 Dim index As Integer = rand.Next(names.Count) Dim person As New Person With {.Name = names(index)} listORG.Add(person) Next i ' Bind ObservableCollection to DataGrid in WPF DGlistORG.ItemsSource = listORG AddHandler listORG.CollectionChanged, AddressOf listORG_CollectionChanged End Sub Private Sub listORG_CollectionChanged(sender As Object, e As System.Collections.Specialized.NotifyCollectionChangedEventArgs) MsgBox("Updated") End Sub
समाधान 1
आप यह नहीं बता सकते कि ऑब्जर्वेबल कोलेक्शन का उपयोग करके किसी ऑब्जेक्ट को बदला गया है या नहीं। ऐसा करने का तरीका INotifyPropertyChanged का उपयोग करना है और जब भी आप किसी संपत्ति में मूल्य बदलते हैं तो PropertiesChanged ईवेंट को बढ़ाएं।
[ad_2]
コメント