Koe*_*enJ 8 wpf performance prism
我正在对使用 PRISM 库编写的 WPF 应用程序进行性能分析。在此应用程序中,从一个视图导航到另一视图特别慢,尤其是在远离“重”视图时。注意:
使用 PRISM 库,区域通常在 ContentControl 上实现,例如:
<ContentControl regions:RegionManager.RegionName="MAIN" />
Run Code Online (Sandbox Code Playgroud)
因此,在 MAIN 区域中切换视图将更新此 ContentControl 的“内容”(从源代码中可以看出)。将 UI 元素设置和切换为 ContentControl 的“内容”会对性能产生副作用(请参阅此博文)。
为了克服这种行为,我为网格实现了一个自定义RegionAdapterBase ( CachingGridRegionAdapter.cs ),它基本上添加了作为子项导航的所有视图,并隐藏了所有非活动视图。
性能提升是巨大的;现在,从一个视图导航到另一个视图是即时的。问题:这种方法有什么缺点吗?
如果还有其他方法可以解决这个问题,请告诉我。
感谢您抽出时间,
科恩
归档时间: |
|
查看次数: |
1247 次 |
最近记录: |