2016-09-30 4 views
0

PersonListのアイテムがObservesPropertyを使用して変更された場合、どのようにトリガーできますか?ObservableCollection内のプリズムオブザーブプロパティ

public ICommand Save 
{ 
    get 
    { 
     return _save ?? (_save = 
      new DelegateCommand(saveData,calculate).ObservesProperty(()=> PersonList)); 
    } 
} 

public ObservableCollection<Person> PersonList 
{ 
    get 
    { 
     return _personList ?? (_personList = new ObservableCollection<Person>()); 
    } 
    set 
    { 
     SetProperty(ref _personList , value); 
    } 
} 
+0

なぜしたいですか?私はあなたの人のソースに、最後に保存してから1人が変更されているかどうか尋ねようとします。さもなければ、あなたは厳しいやり方で観察可能なコレクションを観察し、すべての要素を観察し、それぞれのために保存されたフラグを保持します。すべては手動で 'CollectionChanged'と' PropertyChanged'のハンドラを使います。 – Haukinger

答えて

0

できません。 DelegateCommand.ObservesPropertyメソッドは、変更通知のViewModelレベルのプロパティのみを監視します。リスト内の個々のアイテムに応答する場合は、それらの子アイテムのINPCにフックする必要があります。いくつかのアプローチについてはこの質問を参照してください。

ObservableCollection not noticing when Item in it changes (even with INotifyPropertyChanged)

関連する問題