2010-09-28 93 views
3

我正在使用Silverlight在Phone 7上构建应用程序,并且需要在页面之间保持一些状态。我希望能够在app.cs中存储一个对象并从每个页面访问它,但我一直无法找到任何有关如何做到这一点的文档。如何在Silverlight中存储/访问全局状态对象? (phone7)

在许多不同的页面之间访问同一对象的最佳方式是什么?

感谢您的时间,

- 亨利

回答

3

回答我自己的问题。我可以通过简单地访问app.cs中的对象:

App app = (App)Application.Current; 
app.whateverMyObjectIsCalled 

这是一个合理的事情吗?

+0

这对中等复杂度的应用是合理的。 – AnthonyWJones 2010-09-28 16:59:48

+0

如果将对象存储为静态属性,则不需要将Application.Current强制转换为App,只需直接访问App.whateverMyObjectIsCalled即可。 – 2010-09-28 17:40:16

+0

您应该注意跨线程访问这些对象,并确保锁定或使用monitor.enter/exit以避免竞争条件。您也可能发现从一些非UI线程访问对象的问题。在这种情况下,你应该看看在UI线程上执行这样的访问。 – 2010-09-28 18:57:07