C#在容器中,切换page时,page都会初始化,有什么办法能让pege在容器中切换后,状态任在后在后台运行。切换回来的时候不会初始化

链接:https://pan.baidu.com/s/1iB59IAsJ1Q0RT8FmBuQWOw
提取码:a5e8

img


这是现在切换的方法,查了好久只有一个切换不销毁的博客,不过没看懂,也没改成功。还希望大家指导指导

page定义一个成员变量,不就可以了吗?

  static Dictionary<string, Page> loadedPages = new Dictionary<string, Page>();//创建一个静态Dictionary对象以存储已经加载的页面实例string[] 

SkingPage = new string[6] { "Sking.管理", "Sking.任务", "Sking.设置", "Sking.数据", "Sking.图像" , "Sking.批次" };
                Window_Page = Type.GetType(SkingPage[count]);             
                // 创建新的页面实例并添加到loadedPages字典
                Page page = Activator.CreateInstance(Window_Page) as Page;
                loadedPages.Add(SkingPage[count], page);

改成了都放在loadedPages字典里面然后切换显示,应该是实现不销毁了,试了内存没有增加了。
不过试了了下this.Loaded += Admin_Loaded;的Admin_Loaded函数还是会重复执行。
又通过 Application.Current.Properties["指令"] = "切换";传值再读取判断,感觉还是有问题暂时还没有找到方法