WPF 使用frame加载page内存暴涨问题 坑

Posted 小林野夫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 使用frame加载page内存暴涨问题 坑相关的知识,希望对你有一定的参考价值。

发现问题

最近做的WPF的项目,项目框架使用的是window窗口中使用frame嵌入page,实现页面的切换,属于前辈自己写的简单框架小项目用起来也不错,不过程序后期测试发现页面内容比较多的时候(后来发现可能是页面使用了后台生成页面内容造成的),频繁切换内存呈指数增长

C# wpf Frame 实现一次加载多个page

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApplication1

/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window

Page1 a;
Page2 b;
public MainWindow()

InitializeComponent();
a=new Page1();
b = new Page2();


private void Window_Loaded(object sender, RoutedEventArgs e)

frame1.Navigate(a);//Frame frame1;
frame1.Navigate(b);




为什么无法实现多个页面一次性加载,先加载的在Frame导航栏历史记录里,显示最新的page

默认是可以加载的,但是显示在前台只会有一个最前页,除非这两个page能够在同一个屏幕的不同区域显示。 参考技术A frame1.Navigate(new Uri("你的Page.xaml", UriKind.Relative));

这样应该可以

以上是关于WPF 使用frame加载page内存暴涨问题 坑的主要内容,如果未能解决你的问题,请参考以下文章

WPF的Page介绍及Page Window Frame 之间的链接使用示例,嵌套问题

在wpf中frame内的Page页面的控件要怎么关闭窗口

WPF 中Frame + Page 的使用

WPF中, 如何实现 点击frame1里的page1按钮,切换frame2里的pages

WPF子页面获取父框架

WPF知识点全攻略05-XAML内容控件