私の質問は、「ベストプラクティスは何ですか?」というものです。非常に特殊なケースでは、次のように入力します。
チェックボックスのリストボックスを含むビューがあります。
listbox.ItemsSourceは、 ViewModel (List of Person)のコレクションにバインドされます。そして、各checkbox.IsCheckedはPerson.IsSelectedにバインドされています。
チェックボックスをオンまたはオフにすると、ViewModel の「Refresh」メソッドがアクティブになり、すべての Person の Person.IsChecked が再設定される場合とされない場合があります。もちろん、Person.IsChecked (変更されている可能性があります) が変更されたことを UI に通知する必要があります。
私の質問は次のとおりです: ViewMode.Refreshを呼び出す責任は誰にありますか? UI はイベントまたはコマンドを介してメソッドを呼び出す必要がありますか? または、ViewModelがPersonの適切なイベントにサブスクライブする必要があります。