私のライブラリ クラスの 1 つは、次のようなプロパティを公開しています。
Private _myCollection As New ObservableCollection(Of String)
Public ReadOnly Property MyCollection As ObservableCollection(Of String)
Get
Return _myCollection
End Get
End Property
データバインディングについてはよくわかりませんが、基礎となる_myCollection
フィールドに項目が追加/削除されると、フレームワークが変更について自動的に通知すると想定しています (間違っている場合は修正してください)。
私が知りたいのは、_myCollection
が null になったり、別のコレクションに置き換えられたりするとどうなるかということです:
Sub WhatHappensToMyObservableCollectionWhen(updated As Collection(Of String))
' nulling underlying field
_myCollection = Nothing
' changing underlying field
_myCollection = New ObservableCollection(Of String)(updated)
End Sub
フレームワークは変更されたことを引き続き通知しますか、またはこれらのことが発生したときに手動でMyCollection
実装INotifyPropertyChanged
して発生させる必要がありますか?PropertyChanged
編集
私は WPF 開発者を念頭に置いてこの質問をしていますが、PropertyChanged
. WPF で記述された GUI が にバインドされている場合、説明した方法でフィールドが変更MyCollection
されたときに GUI が適切に更新されるようにしたいと考えています。_myCollection
ありがとう