2016-12-03 65 views
1

在下面的Microsoft參考頁:UWP模型澄清

https://msdn.microsoft.com/en-us/library/windows/apps/mt187344.aspx

..they識別兩種類型的導航機型爲UWP應用,單頁(推薦),以及多頁。然而,他們使用的術語是非常模糊的(文件?),並且是相互矛盾的。有人可以向我解釋精確的單頁面和多頁面應用程序之間的區別嗎?下面是沒有多大意義的摘錄:

「UWP應用程序通常使用單頁導航模型 一個單頁導航機型採用了單頁,以保持應用程序上下文和加載額外的數據和內容到一箇中心框架,根據需要,你還拆你的應用程序分爲多個文件,但,而不是從一個頁面移動到頁面,您的應用程序加載其他文件到主頁面框架。因爲你的應用程序的主網頁是永遠不會卸載,代碼和數據永遠不會卸載,這使得它更易於管理的狀態,並提供平滑的過渡頁面之間動畫。我們建議您使用單頁導航模型「。

+0

「頁面之間的動畫」應該是「文檔之間的動畫」。關鍵在於,在「單頁」模型中,沒有根導航。所有導航發生在主頁面內的框架中。 –

+0

謝謝@RaymondChen。但我仍然不清楚。如果我實現單頁與多頁,導航實現有何不同?看起來他們可能相同的東西?另外,一個'文檔'被實現爲另一個頁面對象? – Sean

+0

您在主頁面內導航框架,而不是瀏覽整個窗口。是的,該文件通常是另一頁。 –

回答

2

我讀的頁面也和我有些由他們的意思究竟是什麼困惑。這是我的想法:

  • 當我說「頁」我的意思是Windows.UI.Xaml.Controls.Page

  • 他們將單頁模型解釋爲「使用單個頁面」,但接着說「在頁面之間提供更流暢的過渡動畫」。咦?我以爲只有一個頁面,那麼你爲什麼要在多個頁面之間進行瀏覽?另外它還提到單頁模型主要依賴於Frame類的各種方法,例如Navigate,GoBack和GoForward,但如果你只有一個頁面,你根本就不會這樣做(甚至不使用Frame) 。

  • 他們也說,單頁模型是推薦的方法。真?除非應用程序是非常簡單只有一個單一的屏幕,那麼我不相信大部分的應用程序將使用此導航模型。所有項目模板都會爲您預計編寫一個多頁面應用程序而創建一個框架。
  • 他們沒有解釋什麼是「文件」是。對我而言,文檔就像文本文檔(用於文本編輯器或文字處理應用程序)或圖像(用於圖像編輯器應用程序),但並非所有應用程序都是基於文檔的應用程序(例如Facebook應用程序,例如)。

對於大多數應用程序,我建議以下導航模式(不管它最終被調用):

  • 當你的應用程序啓動時,窗口的內容設置爲一個幀的實例。這就是項目模板已經爲你做的。
  • 您的應用的每個屏幕都可以是單獨的頁面,並使用框架的導航方法在每個頁面之間進行導航。該框架可以通過Page.Frame屬性在頁面內訪問。

某些應用程序有一個漢堡包菜單a-SplitView控件。在這種情況下,SplitView應該是Window的內容,而框架則應該在SplitView中。

當然,你可以做任何你喜歡的,適合你的應用程序的需求。

除非您有一些非常自定義的導航結構,否則您通常不會在頁面中擁有框架。