我正在编写C#/ XAML / UWP应用程序,我想知道帧控制的实例化(https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.frame)。我不使用缓存,只是标准场景,其中每个导航创建所请求的特定页面子类的新实例,并处置前一页面实例。每个Page实例都有Frame成员,通过以下方式导航到另一个页面:
this.Frame.Navigate(typeof(RequestedPage));
我可以假设,对于每个页面 this.Frame 与“全局变量” Window.Current.Content 是同一个对象吗?在什么情况下这个假设不正确?
答案 0 :(得分:2)
Frame是支持页面导航的内容控件。
Page是UserControl,this.Frame指示包含页面实例的帧。
您可以将任何UI元素(例如文本块)分配给Windows.Current.Content属性,以使UI元素显示在当前窗口中。
默认情况下,应用程序会将rootFrame实例分配给Window.Current.Content。所以它不是一个“全局变量”。
关于Frame的缓存,您可以查看文档NavigationCacheMode enumeration。