C# 在页面之间共享数据

C# 在页面之间共享数据,c#,mvvm,windows-phone-8.1,C#,Mvvm,Windows Phone 8.1,我在应用程序中有一个页面,显示项目列表。当用户选择一个项目时,应用程序将导航到包含所选项目详细信息的第二个页面。我认为这是一个典型的情况 我在网上读了很多文章,但我还是想听听专家们对这个问题的看法 我已经找到了两个似乎是最好的选择: 消息传递Page1导航到Page2,ViewModel2向ViewModel1发回一条消息,询问所选项目。该消息将包含一个充当setter的回调 共享服务存在一个服务,公开两个ViewModels之间应共享的所有数据。在这种情况下,它将是: interface IA

我在应用程序中有一个页面,显示项目列表。当用户选择一个项目时,应用程序将导航到包含所选项目详细信息的第二个页面。我认为这是一个典型的情况

我在网上读了很多文章,但我还是想听听专家们对这个问题的看法

我已经找到了两个似乎是最好的选择:

消息传递Page1导航到Page2,ViewModel2向ViewModel1发回一条消息,询问所选项目。该消息将包含一个充当setter的回调

共享服务存在一个服务,公开两个ViewModels之间应共享的所有数据。在这种情况下,它将是:

interface IAppService
{
    object SelectedItem { get; set; }
}
如果两个虚拟机在构造函数中注入了此服务,我们就完成了


那么,简而言之,在两个不同页面的ViewModels之间共享数据的推荐方式是什么?

您好,您解决了这个问题吗?@Mohamedabas嗯,我每次都会根据情况使用不同的解决方案。我得说没有最好的选择。无论如何,我给自己的两个建议都很有效。