c# – MVVM:在ViewModels之间共享数据

前端之家收集整理的这篇文章主要介绍了c# – MVVM:在ViewModels之间共享数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在多个viewmodels之间共享数据?

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

public class Project : ModelBase
{
    private string _projectName;

    public string ProjectName
    {
        get { return _projectName; }
        set
        {
            _projectName = value;
            RaisePropertyChanged(() => ProjectName);
        }
    }
}

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

中介模式(消息)
>静态对象
> Singleton模式(如果是的话)?

我以前使用过Messaging,但需要很多的代码.对于所有viewmodels,我必须创建ActiveProject属性,并且还必须注册一个信使来更新.

我使用MVVM Light框架.

任何代码示例将不胜感激.

解决方法

我将创建一个viewmodel,作为所有Project viewmodel的父项. (让我们称之为解决方案)

解决方viewmodel将具有ActiveProject属性和可观察的项目集合.

猜你在找的C#相关文章