我在WPF中使用Simple MVVM Toolkit来创建一个应用程序,该应用程序使用一个中央选项卡控件,每个选项卡项都有一个视图(UserControl)。这些视图还可以包含选项卡控件本身,该选项卡控件本身包含更多的“子视图”。
我们的困难在于找到一种方法来共享这些视图中的几个视图使用的应用程序逻辑,而不是拥有一个全局的巨大混乱的类。
发布于 2011-05-17 18:04:43
我不会选择一个包含所有内容的大型类。但我会有一个控制整个状态的中央ViewModel。比如ShellViewModel。我会让视图模型通过Messenger (MVVM Toolkit light)或EventAggregator (棱镜)进行通信和交换信息。它们提供了通过发布/订阅模式来交换信息的方式。您可以通过实现自己的消息类并传递有效负载来解决这些问题。
所以你可以有一个全局消息来保存全部,并且每个(子)ViewModel都可以注册到它,并在收到消息后运行自己的保存方法…
棱镜http://msdn.microsoft.com/en-us/library/ff921122(v=pandp.20).aspx
MVVM light http://blog.galasoft.ch/archive/2009/09/27/mvvm-light-toolkit-messenger-v2-beta.aspx
让我知道这是否有帮助。
https://stackoverflow.com/questions/6029117
复制相似问题