首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 8导航中的混淆

Windows 8导航中的混淆
EN

Stack Overflow用户
提问于 2014-02-28 11:00:21
回答 1查看 95关注 0票数 1

在Windows 8中,我对从一个页面导航到另一个页面的两种方法感到困惑。

First one

使用最初在App.Xaml.cs类中定义的框架,如下所示。

代码语言:javascript
复制
 public static Frame RootFrame;

 protected override void OnLaunched(LaunchActivatedEventArgs args)
 {
      RootFrame = Window.Current.Content as Frame;
 }

就像..。

代码语言:javascript
复制
App.RootFrame.Navigate(typeof(Page1));

第二 :-这是一种简单的导航方式。

代码语言:javascript
复制
this.Frame.Navigate(typeof(page1));

问题:-这两种类型有什么区别吗?如果有,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-05 18:15:26

这些都是相同的方法,实际上是在同一个对象上操作。应用程序对象创建一个承载页面的Frame对象(在基本应用程序模板中,当应用程序第一次启动时,请注意,如果rootFrame为null,它会更新一个Frame并将其设置为Window.Current.Context)。

从这一点开始,您将使用同一个Frame对象的导航函数。当您导航到Page1时,FramePage1.Frame属性设置为自身,因此在Page1中,this.Frame指向与App.RootFrame相同的对象(本质上是“父”链接)。

因此,Window.Current.Content托管一个Frame对象,该对象托管Page,每个Page都有一个指向该Frame的指针,它们可以使用该指针命令Frame导航到其他Page

注意,Window.Current.Content本身是一个可设置的UiElement。这意味着它在技术上可以承载Frame以外的UI。例如,这可以用来制作一些铬,它本身承载了一个Frame,这是应用程序的实际内容(比如旧的HTML )。在一种情况下,我这样做是为了创建一个开发人员控制台,该控制台可以从我的应用程序的每个页面轻松调用/可用(因为它存在于承载单个页面的框架级别之上)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22093250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档