在页面之间共享数据

时间:2014-11-09 12:04:34

标签: c# mvvm windows-phone-8.1

我在App中有一个显示项目列表的页面。当用户选择项目时,App导航到包含所选项目细节的第二页面。我认为这是一个典型的场景。

我在互联网上阅读了大量文章,但我仍然希望听到有关该主题的专家意见。

我已经找到了两个看起来最好的选择:

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

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

interface IAppService
{
    object SelectedItem { get; set; }
}

如果两个VM在构造函数中注入了此服务,我们就完成了。

因此,简而言之,在两个不同页面的ViewModel之间共享数据的推荐方法是什么?

0 个答案:

没有答案