MVVMアプリケーションでを使用する場合、個々のセットアイテムの変更をトリガーする必要があります。ただし、ユーザーはこれらの通知の障害に遭遇する可能性があり、データバインディングコントロールが応答せずに応答します。この記事では、この問題の根本原因について説明し、包括的なソリューションを提供します。
詳細な問題ObservableCollection
を達成するために表示されましたが、は内部のこれらの変化を観察しませんでした。したがって、変更されたアイテムの属性は、設定レベルで変更通知を引き起こすことはなく、データバインディングはこれらの変更を認識できません。
ソリューション:カスタムオブザーブアブエコレクションINotifyPropertyChanged
この制限を解決するために、この記事ではカスタムObservableCollection
クラスを紹介します。このような拡張機能にはがあり、すべてのアイテムが
イベント処理プログラムを書き直すことが重要です。
TrulyObservableCollection
クラス治療以下の操作:ObservableCollection
INotifyPropertyChanged
CollectionChanged
アイテムの追加:
イベントを購読して変更する属性を検出します。 移動項目:
アイテムが削除されると、アイテムに登録されているインシデントがキャンセルされます。 TrulyObservableCollection
PropertyChanged
PropertyChanged
に交換してください。セット変更の属性が変更されると、バインディングが自動的に更新されます。 NotifyCollectionChangedEventArgs
のアイテムを使用する場合、以上がアイテムのプロパティが変更されたときに、なぜ私の観測可能な収集が更新されないのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。