我们如何进行WPF控件的缓存?

时间:2018-01-20 10:54:43

标签: .net wpf xaml caching

我正在使用具有大量用户控件的WPF应用程序,页面只需4秒即可显示UI。

InitializeComponent()方法需要3秒钟才能处理

如何缓存UI controls,以便至少下次用户访问同一页面。它瞬间加载?

1 个答案:

答案 0 :(得分:1)

第一种方式:第一次显示视图后,再也不要折叠它。隐藏它(将Visibility设置为Visibility.Hidden)。这对于整个视图集合也很有效。您需要自定义管理器,该管理器会跟踪应该显示的内容。

第二种方式:使用Prism及其区域经理。参见https://app.pluralsight.com/library/courses/prism-showing-multiple-shells/table-of-contents - '控制视图合成'谈论视图缓存的模块。

第三种方式:将视图重新组合成较小的片段,使用ContentPresenter显示它们。延迟加载您的数据,从不同的线程等初始化它。您可能有一个奇怪的角落案例,如您必须使用的第三方控件,以及哪个初始化需要很长时间,但更可能是您有设计问题。