在Metro Style应用程序中的页面(视图)之间共享模型



我有一个Metro应用程序,它由几个页面组成,所有页面都源自LayoutAwarePage。我已经实现了往返它们的导航。这很有魅力。我现在想做的是在这些视图之间共享公共数据,例如:

  • 访问一个模型,让我们将其命名为MyModel
  • 控制器的实例,让我们将其命名为MyController
  • 常见的业务逻辑,让我们将其命名为MyLogic

在过去,我习惯于通过构造函数"注入"这些依赖关系。现在这已经不可能了(对吧?)。否则我该怎么做?记住我想避免:

  • 单线(由于测试)
  • 公共静态属性(类似于singleton)

将某种上下文对象传递给Frame.Navigate()方法可以吗?有人有什么好建议吗?

附言:我想避免使用像MVVM light或Cocoon这样的框架。

干杯!

听起来你在寻找一些非常简单的东西。如果是这样的话,我只需要在App.xaml.cs.中添加一个属性

您可以使用(App.Current as App).MyProperty之类的东西从应用程序中的任何位置设置/获取该属性。非常暴力,但它有效。

我也看到了同样的方法,但将主容器分配给App.xaml.cs属性,然后使用getContainer()方法扩展方法-只是为了减少您必须写入的次数(App.Current as App)。

好吧,我想我找到了一个很好的解决方案[1]。它仍然不是我想要的,因为它使用的是MVVM轻型工具包及其Messenger概念,但它是干净的。

[1]http://forums.silverlight.net/p/200771/468507.aspx

相关内容

  • 没有找到相关文章

最新更新