我有一個實現了INotifyPropertyChanged
的模型,它可能會被後臺業務線程更新。其相關的ViewModel也實現了INotifyPropertyChanged
。他們的View顯然綁定到ViewModel。此視圖可能會顯示在多個位置,我的目標是在模型更改時全部更新。如果模型實現INotifyPropertyChanged,ViewModel應如何爲PropertyChanged事件註冊/註銷?
我知道ViewModel應該註冊Model的PropertyChanged
事件。但我不知道何時何地是這種註冊和註銷的最佳場所。特別是關於註銷,因爲我害怕在Model/VM上有數百個VM事件處理程序,不再顯示VM /視圖。
在此先感謝。
感謝您的回覆。 我認爲這是必要的。因爲我必須操縱模型的數據以便能夠容易和清潔地綁定。 – n0ne 2013-05-02 14:56:08
操縱模型的數據在哪裏?在VM中?這也不是一個好的做法。如果需要,您應該操縱Model中的Model的數據,或者如果它只是View渲染的操作,它應該位於Converter中。 – Viv 2013-05-02 14:57:46
是的,我的意思是一些視圖渲染的東西。渲染有點複雜,不僅僅是一個屬性到屬性的映射,我可以使用一個Converter。 – n0ne 2013-05-02 15:06:11