【发布时间】:2010-08-30 14:12:18
【问题描述】:
当 WPF 选项卡控件中的选项卡更改时,有没有办法防止选项卡卸载/重新加载?或者,如果这不可能,是否有推荐的方法来缓存选项卡内容,以便不必在每次选项卡更改时重新生成它们?
例如,一个选项卡的 UI 是完全可定制的并存储在数据库中。当用户选择要处理的对象时,自定义布局中的项目将填充该对象的数据。用户预计初始加载或检索数据时会出现轻微延迟,但在选项卡之间来回切换时不会出现延迟,并且切换选项卡时的延迟非常明显。
【问题讨论】:
-
我认为 TabItems 不会在选项卡控件中的选定项目发生更改时被卸载/重新加载。我不确定,但可能需要更改 TabControl 的 SelectionChanged 逻辑,以便它不会每次都重新查询数据库?
-
每次更改选项卡时都会运行 DataTemplates 的 Loaded/Unloaded 事件(我使用的是 MVVM 设计模式)
-
So, in your application, whenever the selected tab changes, it triggers a connection to the database to retrieve the object's data?
-
是的,我想缓存选项卡,这样它就不必重建它,或者做一些变通方法来防止它在选项卡更改时卸载/重新加载内容。跨度>
标签: wpf caching tabcontrol