C# MVVM中央应用程序逻辑

C# MVVM中央应用程序逻辑,c#,wpf,design-patterns,mvvm,C#,Wpf,Design Patterns,Mvvm,我正在WPF中使用简单的MVVM工具包创建一个应用程序,该应用程序使用一个中央选项卡控件,每个选项卡项都有一个视图(UserControl)。这些视图还可能包含包含更多“子视图”的选项卡控件本身 我们的困难在于找到一种方法来共享其中几个视图使用的应用程序逻辑,而不需要一个全局庞大的凌乱类。我不会选择一个包含所有内容的庞大类。但我会有一个控制整体状态的中心视图模型。就像ShellViewModel一样。我会让viewmodels通过Messenger(MVVMToolkit light)或Even

我正在WPF中使用简单的MVVM工具包创建一个应用程序,该应用程序使用一个中央选项卡控件,每个选项卡项都有一个视图(UserControl)。这些视图还可能包含包含更多“子视图”的选项卡控件本身


我们的困难在于找到一种方法来共享其中几个视图使用的应用程序逻辑,而不需要一个全局庞大的凌乱类。

我不会选择一个包含所有内容的庞大类。但我会有一个控制整体状态的中心视图模型。就像ShellViewModel一样。我会让viewmodels通过Messenger(MVVMToolkit light)或EventAggregator(Prism)进行通信和交换信息。 它们提供了发布/订阅模式来交换信息。您可以通过实现自己的消息类和传递有效负载来解决这些问题

所以你可以有一个保存所有的全局消息,每个(子)视图模型可以注册到它,并在收到消息后运行自己的保存方法

棱镜

MVVM灯

让我知道这是否有帮助