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