[ad_1]
こんにちは皆さん。
私は観察コレクションを持っています。
イベントCollectionChangedを使用しました。
ただし、このイベントは、新しい項目が追加されたとき、または項目が削除されたときにのみ発生します。
では、アイテムが編集されたかどうかを検出するにはどうすればよいでしょうか?
(そしてもちろん、どのアイテムがエディションを取得したかを検出することも推奨されます。)
何か助けてください。
私が試したこと:
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
ObservableCollection を使用してオブジェクトが変更されたかどうかを知ることはできません。 これを行うには、INotifyPropertyChanged を使用し、プロパティの値を変更するたびに PropertyChanged イベントを発生させます。
[ad_2]
コメント