मैं कैसे पता लगा सकता हूं कि मेरा अवलोकन संग्रह VB.NET में बदल गया है या नहीं?

प्रोग्रामिंग


हाय दोस्तों।
मेरे पास एक अवलोकन संग्रह है।
मैंने इवेंट कलेक्शनचेंज्ड का उपयोग किया।
लेकिन यह ईवेंट केवल तभी उठता है जब कोई नया आइटम जोड़ा जाता है, या कोई आइटम हटा दिया जाता है।
तो मैं कैसे पता लगा सकता हूँ कि कोई आइटम संपादित किया गया है?
(और हां, यह पता लगाना भी बेहतर होगा कि किस आइटम को संस्करण मिला है।)

कृपया कोई मदद?

मैंने क्या प्रयास किया है:

वीबी.नेट
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 ईवेंट को बढ़ाएं।

コメント

タイトルとURLをコピーしました