![](/img/trans.png)
[英]WPF binding update notification for nested property when parent property changes
[英]Get a callback when a deeply nested property changes, with a WPF binding
我在說什么
在WPF表單上,我可以為深度嵌套的對象創建一個簡單的WPF綁定:
<TextBox Name="TextBox1" Text="{Binding Path=Very/Deeply/Nested/Object}"></TextBox>
當層次結構中的任何屬性更改時,TextBox1將自動更新。 因此,例如,如果對象“非常”的屬性“深層”更改,則WPF將取消訂閱上一個項目,並訂閱新的層次結構。 最終,Text屬性將被更新。
我想做的事
在C#端,當“對象”更改時,我需要獲取回調。 但是,我不需要在任何WPF控件中顯示 Object。 另外,我不想手動訂閱/取消訂閱整個層次結構 ,如何在C#中使用WPF的訂閱機制從深度嵌套的對象屬性中獲取回調?
我發現一個不好的解決方案
我可以使TextBox1不可見(因為我實際上不需要顯示該信息),並訂閱它的TextChanged事件。 這很簡單,可能會起作用,但確實看起來像是一種不好的方法...
看這個問題的另一種方式
可以在控件屬性以外的其他對象上使用綁定機制嗎? IDK,我可以創建某種非靜態且不斷訂閱的資源嗎? 該資源將使用指定的綁定,我可以訂閱該資源的單個“更改”事件。
歡迎任何幫助!
如果您的“嵌套”已實現INotifyPropertyChanged,則可以在viewmodel中訂閱其PropertyChanged事件。 包括對象在內的任何財產發生變更時,您都會收到通知
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.