クラスAにいくつかのプロパティがあり、クラスBに があり、オブジェクトAを作成してDependencyProperty
に登録し、propertyChangedCallBack
を登録します。 Aのオブジェクトが更新されたときに再作成されなかったときに起動します。 Aのサブプロパティがオブジェクト全体ではなく変更された場合でも、どのように呼び出されるように解決できますか?プロパティが更新されたときにコールプロパティがコールバックに戻る
1
A
答えて
3
「ディープリンクされた」プロパティの変更通知が組み込まれていません。あなたは自分でそれをしなくてはなりません。
あなたclass A
は別のイベントChanged
(単なる例;あなたが好きなように名前を付ける)を含有する可能性が毎回そのメンバーの1つの隆起され、
public class A
{
private string name;
public string Name
{
get { return this.name; }
set
{
if (value != this.name)
{
this.name = value;
this.RaiseChanged();
}
}
}
// ... more properties here ...
public event EventHandler Changed;
private void RaiseChanged()
{
this.Changed?.Invoke(this, EventArgs.Empty);
}
}
public class B
{
public A PropertyA { get; set; }
}
を変更し
あなたclass B
その後、PropertyA
秒に加入していChanged
イベントは、外の世界にPropertyA
への変更について通知します。 PropertyA
の変更を正しく処理してください。
通知目的のために、PropertyA
をDependencyPropertyにする必要はありません(追加使用は不要です)ので、INotyfyPropertyChanged
に固執することができます。
これが役に立ちます。
+0
OnPropertyAChangeイベントの発生が必要です。 DependencyProperty PropertyAProperty = DependencyProperty.Register( "PropertyA"、typeof(A)、typeof(B)、新しいPropertyMetadata(null、OnPropertyAChange)); – Maryam
関連する問題
- 1. WebRTCコールバック内でプロパティが変更されたときにVue.js更新がトリガーされない
- 2. knockoutjsでプロパティにバインドすると、プロパティが変更されたときにビューが更新されます。
- 3. プロパティがAngular2で変更されたときにデータバインディングが更新されない
- 4. モデルでプロパティが変更されたときにテキストブロックが更新されない
- 5. ウェブブラウザに戻るときにAndroidブラウザが更新されます
- 6. プロパティが変更されたときにWPF - バインドされたコントロールが更新されない?
- 7. データウィンドウのプロパティが変更されたときに、新しいウィンドウのテキストボックスが更新されない
- 8. バインドされたデータが変更されたときにプロパティを更新しないユーザーコントロールの依存プロパティ
- 9. PHP/Perlファイルが更新されたときに更新する
- 10. SQLiteが更新されたときにスピナーを更新する
- 11. コントローラが更新されたときに角度ビューが更新されない
- 12. モデルがAngularJSで更新されたときにビューが更新されない
- 13. viewmodelが更新されたときにビューのテーブルセルが更新されない
- 14. ルートプロパティが更新されたときに、Aurelia-router router.navigationが更新されない
- 15. WPF - 親ビューの幅が変更されたときにコールバック
- 16. バインドされたプロパティが変更されたときにBinding値でリストボックスを更新する
- 17. ソース値が変更されたときにDataBound依存関係プロパティが更新されない
- 18. XAMLデータバインディングでプロパティが変更されたときにUIが更新されない
- 19. プロパティが更新されるとAngular2ページがリフレッシュされます
- 20. Objective-C:ルートコントローラに戻るとUINavigationBarが更新されない
- 21. プロパティが変更されたときに見る
- 22. ドロップダウンオプションが変更されたときにテーブルを更新する
- 23. ファイルサイズが変更されたときにページを更新する
- 24. ローカルイメージソースファイルが変更されたときにイメージコンテナを更新する
- 25. プロパティのプロパティが変更されたときに、オブジェクトインスタンスpropertyChangedを変更します。
- 26. 場所が変更されたときにXMLデータが更新されない
- 27. リソースが変更されたときに静的バインディングが更新されない
- 28. 変数が変更されたときにAngular2コンポーネントビューが更新されない
- 29. データが変更されたときにAngular2ビューが更新されない
- 30. Angular2:変数が変更されたときにビューが更新されない
プロパティのプロパティがpropertyChangedCallBackによって処理されていません。あなたのプロパティは、クラスAオブジェクトへのポインタです。プロパティは、そのAオブジェクトへのBs参照を変更せずに変更されます。 – swe