2016-08-06 30 views
0

INotifyPropertyChanged是否僅通知用戶界面的更改。而在其他方式中,我們也可以說,來自其他來源的屬性的價值變化,那麼用戶界面不會被通知?INotifyPropertyChanged是否僅通知用戶界面的更改

+0

不,INotifyPropertyChanged與用戶界面的通知無關。綁定負責處理此事,以響應依賴項屬性更改通知,該通知不使用INotifyPropertyChanged。 –

回答

0

INotifyPropertyChanged接口用於通知客戶端(通常是綁定客戶端)屬性值已更改。因此,如果您希望通知是雙向的,則必須將綁定模式設置爲TwoWay,以便INotifyPropertyChanged僅在將綁定模式設置爲OneWay時才通知用戶界面已更改。源,如果您設置綁定TwoWay,以便通知將從用戶界面到源代碼以及從源代碼到用戶界面。

+0

INotifyPropertyChanged與通知綁定變更源的用戶界面無關。它僅用於源通知目標。 Mode = TwoWay會導致綁定更新源屬性,但不會通過INotifyPropertyChanged。 –

+0

@EdPlunkett請參閱此鏈接:https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged(v=vs.110).aspx –

+0

其實我改變一個哈希值的值從一個ICommand繼承類。 我想問這個變化是否會被屬性獲取器中的OnPropertyChanged通知。 public HashSet EmpDeductions { get {return empDeductions; } set if(empDeductions!= value) empDeductions = value; OnPropertyChanged(「EmpDeductions」); NetSalary = NetSalary; } } } –

相關問題