2012-10-29 67 views
2

我目前正在開發一個包含2頁(page1,page2)的Windows 8應用程序。在WinRT中獲取頁面實例

使用this.Frame.Navigate(typeof(AnotherPage)); 我如何可以訪問的page2形式page1實例,導航形式第1頁至第2頁, 後(我們可以通過對具有靜態實例屬性實現它,並把它當調用構造函數

但是是否有任何內置功能從當前頁面外部訪問頁面的當前實例,或者是在WinRT範例中推薦這種編程模式,是否有任何方法來實現我的場景。

回答

0

第一件事 - 默認情況下,默認情況下,默認情況下,在您默認導航到下一頁後,上一頁的實例不會保留在內存中 - 除非您更改頁面的默認NavigationCacheMode,除非您不更好,否則該頁面需要花費大量的時間來加載,並且像一個集線器頁面,您可以回到很多。

我建議的方法是使用MVVM模式,因此頁面不必互相交談,而是視圖模型。然後在MVVM Light Toolkit中使用帶有助手的發佈/子模式來發送弱事件/消息,而不是在對象之間添加緊耦合。

總而言之 - 這取決於你想做什麼以及爲什麼你想讓你的網頁彼此交談。您可以在Navigate()調用中傳遞一個參數(確保它只是一個基本類型,但如果您想要使用SuspensionManager類和Frame類中的內置序列化支持應用程序暫停)。您還可以使用某種全局存儲庫或設置服務在頁面之間共享數據。

如果你不願意投資這些東西 - 使用普通的舊靜態類可能就足夠了。無論什麼作品。