ObservableCollection の所有者内で、ObservableCollection 内の項目の PropertyChanged イベントを処理する必要があります。以下よりもエレガントな方法が必要です。
ObservableCollection(MyViewModel) myViewModels = new ObservableCollection<MyViewModel>();
LoadMyViewModels(myViewModels); // populates the collection
foreach (MyViewModel myViewModel in myViewModels)
{
myViewModel.PropertyChanged += PropertyChangedEventHandler(MyViewModelPropertyChanged);
}
MyViewModelPropertyChanged イベント ハンドラーを LoadMyViewModels に渡したいので、コレクションを 2 回 (読み込み時とイベント割り当て時に 1 回) トラバースする必要はありません。
MyViewModelPropertyChanged は、UI に反映される含まれているビューのプロパティを設定します (コレクションは TreeView にバインドされており、アイテムがチェックされているかどうかに基づいて UI のフィールドを有効/無効にする必要があります)。
引用された投稿のすべてではないにしても、ほとんど見てきましたが、少し迷っています。
上記のコードは必要なことを実行しますが、もっと良い方法があることはわかっています。適切なリファレンスまたはコード サンプルを引用してください。
ありがとう。