クラス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. Uiコードビハインドでプロパティが更新されたときに更新されない
- 4. モデルでプロパティが変更されたときにテキストブロックが更新されない
- 5. プロパティがAngular2で変更されたときにデータバインディングが更新されない
- 6. ウェブブラウザに戻るときにAndroidブラウザが更新されます
- 7. プロパティが変更されたときにWPF - バインドされたコントロールが更新されない?
- 8. データウィンドウのプロパティが変更されたときに、新しいウィンドウのテキストボックスが更新されない
- 9. バインドされたデータが変更されたときにプロパティを更新しないユーザーコントロールの依存プロパティ
- 10. SQLiteが更新されたときにスピナーを更新する
- 11. PHP/Perlファイルが更新されたときに更新する
- 12. データバインディングアクティビティは、プロパティが変更されたときに値を更新しません。
- 13. コントローラが更新されたときに角度ビューが更新されない
- 14. 状態が更新されたときにスタイルが更新されない
- 15. ルートプロパティが更新されたときに、Aurelia-router router.navigationが更新されない
- 16. バックエンドデータベースが更新されたときにDjangoモデルが更新されます
- 17. モデルがAngularJSで更新されたときにビューが更新されない
- 18. viewmodelが更新されたときにビューのテーブルセルが更新されない
- 19. キーが押されたときではなく値が更新されたときに更新する
- 20. WPF - 親ビューの幅が変更されたときにコールバック
- 21. バインドされたプロパティが変更されたときにBinding値でリストボックスを更新する
- 22. プロパティが更新されるとAngular2ページがリフレッシュされます
- 23. XAMLデータバインディングでプロパティが変更されたときにUIが更新されない
- 24. ソース値が変更されたときにDataBound依存関係プロパティが更新されない
- 25. Objective-C:ルートコントローラに戻るとUINavigationBarが更新されない
- 26. プロパティが変更されたときに見る
- 27. ファイルサイズが変更されたときにページを更新する
- 28. ドロップダウンオプションが変更されたときにテーブルを更新する
- 29. データが変更されたときにリストビューを更新する
- 30. ローカルイメージソースファイルが変更されたときにイメージコンテナを更新する
プロパティのプロパティがpropertyChangedCallBackによって処理されていません。あなたのプロパティは、クラスAオブジェクトへのポインタです。プロパティは、そのAオブジェクトへのBs参照を変更せずに変更されます。 – swe