我已经在里面创建了一个带有框架的WPF应用程序。我可以将其他一些页面附加到此框架,如
frame1.Source = new Uri(“Page1.xaml”,UriKind.RelativeOrAbsolute);
问题是加载此页面(Page1.xaml)后在同一帧中加载另一页(Page2.xaml) Page1.xaml是自动处理还是仍然在后台运行?我找不到帧源页面的dispose方法。任何人都可以解释一下。
答案 0 :(得分:13)
Frame
旨在提供导航内容的功能;打包导航内容的首选方法是Page
,正如您所做的那样。具体来说,可以使用导航方法导航框架,将保持导航历史的生命周期,其中“历史记录”是此处的关键字。
在导航历史记录中,Frame 不会维护每个页面的实例,以避免过多的内存消耗。因此,在使用导航控件时不会记住状态,并且每次导航到页面时都会创建一个新实例。
换句话说,当您离开框架中的页面时,会丢弃该对象。