1

我有一个选项卡控件和许多以编程方式填充并包含自定义控件的选项卡项。initializeComponent在创建选项卡控件时,每个自定义控件都会被实例化并在每个用户控件上调用。

我怀疑这是一种不好的做法,因为一些用户控件可能包含大量数据、初始化数据库连接等。我想让它尽可能高效。我想要做的是最小化每个用户控件完成的工作量,直到它所在的选项卡被实际选中并且对用户可见。

在四处挖掘之后,我发现了这个详细说明折叠控件的延迟初始化。我已经设法让它为我的标签工作,但经过更多的挖掘后,我设法找到了LoadedUnloaded事件。我是否能够通过简单地initializeComponent从用户控件构造函数中删除并将其添加到Loaded事件处理程序来实现延迟初始化?

理想情况下,我希望能够在unloaded事件触发时取消初始化用户控件,直到下一次loaded触发事件。有没有办法扭转在初始化组件期间发生的 xaml 加载?

我意识到这可能不是一个微不足道的答案,但我将不胜感激任何指导/帮助。

如果您需要更多信息,请告诉我。

4

0 回答 0