【发布时间】:2015-10-02 09:05:36
【问题描述】:
我正在编写 C#/XAML/UWP 应用程序,我想知道帧控制的实例化 (https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.frame)。我不使用缓存,只是标准场景,其中每个导航创建请求的特定 Page 子类的新实例,并处理前一个页面实例。每个 Page 实例都有 Frame 成员,通过以下方式导航到另一个页面:
this.Frame.Navigate(typeof(RequestedPage));
我可以假设,对于每个页面 this.Frame 都是与“全局变量” Window.Current.Content 相同的对象吗?在什么情况下这个假设不成立?
【问题讨论】:
-
我相信您的假设是正确的,除非您自己手动更改,否则它不应更改。
-
Windows.Current.Content 甚至不必是框架。例如,它可以是一个 SplitView,SplitView 可以容纳一个 Frame。此外,您甚至可以在堆栈中拥有多个具有自己类型的逻辑和页面的框架。所以,如果你只是使用默认的、开箱即用的设置,它应该是一样的。如果没有,你必须小心。
-
查看Microsoft git samples 中的 Cortana 语音命令示例。它包含您感兴趣的 NavigationService 和 NavigationHelper。
标签: win-universal-app uwp