wpf - 卡特尔延迟加载包含 View / View 模型的装配体

标签 wpf mvvm unity-container mef catel

我有一个WPF应用程序,其中大部分 View 不会每天使用-想想维护窗口。我的想法是将这些窗口的 View 和 View 模型移动到单独的程序集中,仅在其中一个窗口显示时才加载它们,这将缩短启动时间并减少应用程序的内存占用。

首先,这是合理的做法吗?

如果是这样,实现此目标的最佳“Catel”方法是什么?我可以使用MEF,但它似乎不支持延迟即装即用地加载程序集。在构建目录时,它将加载程序集。 Unity是否允许延迟加载?卡特尔的ServiceLocator/DependencyResolver吗?

最佳答案

无需“延迟加载”具有 View 的程序集,因为Catel不会预加载 View 。 Catel将在需要时延迟加载 View 并缓存结果。这意味着,第一次加载 View 和 View 模型时,会产生较小的影响(不明显)。

将 View / View 模型放在单独的程序集中的唯一原因是为了分离关注点/使程序集易于管理。

关于wpf - 卡特尔延迟加载包含 View / View 模型的装配体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22415817/

相关文章:

c# - 从代码访问 MVVM Light ViewModelLocator

c# - 尽管将 Visibility 设置为 Hidden 并将 WindowState 设置为 Minimized,WPF Window 仍然显示为可最大化的矩形

c# - 数据模板中的 MVVM 命令

.net - WPF 单选按钮 - MVVM - 绑定(bind)似乎死了?

c# - 仅当使用 unity DI 回收应用程序池时,webapi 调用才会失败

c# - 当按钮都位于 DataGridTemplateColumn 中时,从按钮中清除 TextBlock

c# - 从 View 模型导航到mvvmcross中的另一个 View 模型时崩溃

c# - MVVM - 是否有开源 View Model 基类?

inversion-of-control - 如何在多项目解决方案中使用 Unity 进行解析

c# - 如何使用 Unity 2.0 注入(inject) Log4Net ILog 实现