2011-05-17 77 views
3

我正在使用WPF中的Simple MVVM Toolkit創建應用程序,應用程序使用中央選項卡控件,併爲每個選項卡項使用View(UserControl)。這些視圖也可能包含包含更多「子視圖」的選項卡控件本身。MVVM中央應用程序邏輯

我們的困難是尋找一種方法來分享它使用幾個這些觀點應用邏輯,而不必一個全球巨大的凌亂類..

回答

2

我不會與擁有一切一個巨大的類去。但是我會有一個控制整體狀態的中央ViewModel。像ShellViewModel一樣。我會讓視圖模型通過Messenger(MVVM工具包燈)或EventAggregator(Prism)進行通信和交換信息。 他們提供了發佈/訂閱者模式來交換信息的方式。而且你可以通過實現自己的消息類來處理它們,並將它傳遞給它。

所以,你可以對保存所有和每一個(子)視圖模型一個全球性的消息可以註冊並運行有自己的保存方法收到消息後...

棱鏡 http://msdn.microsoft.com/en-us/library/ff921122(v=pandp.20).aspx

MVVM燈 http://blog.galasoft.ch/archive/2009/09/27/mvvm-light-toolkit-messenger-v2-beta.aspx

讓我知道這是否有幫助...