[英]Bind INotifyPropertyChanged class as Property in another class
[英]INotifyPropertyChanged with a property that's a class?
如果我注冊以通知財產變更,它將僅在重新分配實際財產時通知。 因此,如果我有一個文本框屬性,它將不會通知文本框文本是否更改,對嗎? 有什么辦法可以使其工作嗎?
如果您對對象的特定屬性感興趣,則應在值本身上使用類似INotifyPropertyChanged
的機制。 不幸的是,盡管在這種情況下WinForms的TextBox
沒有實現INotifyPropertyChanged
。 為了偵聽對其Text
屬性的更改,您需要預訂TextChanged
事件
我很難想象為什么一個類會公開TextBox
類型的屬性。 無論如何,如果您最終完成了這樣的設計,則可以簡單地添加兩個屬性,每個屬性用於TextBox
本身和內部文本,然后偵聽TextBox
的TextChanged
事件並在其上觸發NotifyPropertyChanged
。
但是我確實認為您需要重新考慮您的方法。 如果您的類公開了TextBox
類型的屬性,則實際上應該確實存在一些地方,您實際上將新的TextBox分配給了一個類實例,並且高層聽了此更改。 我認為情況並非如此。 您幾乎肯定會在尋找文本更改,因此應該公開一個string
類型的屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.