相关疑难解决方法(0)

MVVM:在ViewModels之间共享数据

如何在多个ViewModel之间共享数据?

例如,在应用程序中有一个名为Project的类.

    public class Project : ModelBase
{
    private string _projectName;

    public string ProjectName
    {
        get { return _projectName; }
        set
        {
            _projectName = value;
            RaisePropertyChanged(() => ProjectName);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在多个ViewModels应用程序中应该访问ActiveProject.
在ViewModels之间共享Project的最佳方法是什么?

  • 调解员模式?(消息)
  • 静态对象
  • 单身模式(如果是的话怎么样?)

我之前使用过Messaging但它需要很多编码.对于所有ViewModel,我要创建ActiveProject属性,还必须注册一个messenger来更新它.


我使用MVVM Light框架.
任何代码示例将不胜感激.

c# wpf design-patterns mvvm

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×1

design-patterns ×1

mvvm ×1

wpf ×1