3
我正在使用Silverlight在Phone 7上构建应用程序,并且需要在页面之间保持一些状态。我希望能够在app.cs中存储一个对象并从每个页面访问它,但我一直无法找到任何有关如何做到这一点的文档。如何在Silverlight中存储/访问全局状态对象? (phone7)
在许多不同的页面之间访问同一对象的最佳方式是什么?
感谢您的时间,
- 亨利
我正在使用Silverlight在Phone 7上构建应用程序,并且需要在页面之间保持一些状态。我希望能够在app.cs中存储一个对象并从每个页面访问它,但我一直无法找到任何有关如何做到这一点的文档。如何在Silverlight中存储/访问全局状态对象? (phone7)
在许多不同的页面之间访问同一对象的最佳方式是什么?
感谢您的时间,
- 亨利
回答我自己的问题。我可以通过简单地访问app.cs中的对象:
App app = (App)Application.Current;
app.whateverMyObjectIsCalled
这是一个合理的事情吗?
这对中等复杂度的应用是合理的。 – AnthonyWJones 2010-09-28 16:59:48
如果将对象存储为静态属性,则不需要将Application.Current强制转换为App,只需直接访问App.whateverMyObjectIsCalled即可。 – 2010-09-28 17:40:16
您应该注意跨线程访问这些对象,并确保锁定或使用monitor.enter/exit以避免竞争条件。您也可能发现从一些非UI线程访问对象的问题。在这种情况下,你应该看看在UI线程上执行这样的访问。 – 2010-09-28 18:57:07