2016-12-03 100 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中。

当然,你可以做任何你喜欢的,适合你的应用程序的需求。

除非您有一些非常自定义的导航结构,否则您通常不会在页面中拥有框架。