2010-09-28 51 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