我想在我的WPF應用程序中使用MVVM,該應用程序顯示數據來自業務邏輯層中的數據,名爲'Employee',屬性爲'Salary 」。我有一個簡單的XAML窗口,帶有一個文本框,並綁定到ViewModel類'EmployeeViewModel'中的Salary屬性。 ViewModel實現INotifyPropertyChanged,以便當EmployeeViewModel的Salary屬性發生更改時,XAML文本框中的值也會更改。所有的工作正常。MVVM WPF確保ViewModel是最新的業務層/後端的最佳方法
現在,EmployeeViewModel的Salary屬性從Employee類的Salary屬性中獲取其值。但是,如果Employee類的Salary值由業務邏輯層中正在進行的其他過程更改,它不會在EmployeeViewModel中自動更新。什麼是最好的方式來做到這一點?我正在考慮Employee類中的一種INotifyPropertyChanged實現,它讓EmployeeViewModel知道自己進行更新。或者我應該使用依賴屬性?或者,我應該有一個過程,一旦完成業務邏輯層中的所有更改,就會刷新ViewModel。任何幫助感謝!
感謝您的幫助。經過一番思考,我決定採用第三種方案。我所有的ViewModel現在屬於一個名爲AllViewModel的集合,它通過每個ViewView調用每個ViewModel中的Refresh方法。 Refresh方法遍歷ViewModel中的每個屬性,並使用BusinessModel中的相應屬性進行更新,然後觸發OnPropertyChanged。 – Caustix 2010-09-07 16:57:14