我通过MEF和Prism发现了我的观点。但是构造函数会在完全引导程序完成之后导入我不想加载的内容。
而不是MEF在bootstrap时为我实例化所有这些对象,我只是想用MEF和特定区域注册一个View,但是当我第一次导航到它时只构造和加载它。 / p>
这可能吗?
[Export("LegacyEntry")]
[ViewExport]
[PartCreationPolicy(CreationPolicy.Shared)]
public partial class LegacyEntry
{
public IEntryViewModel ViewModel
{
set => DataContext = value;
}
答案 0 :(得分:0)
导入模块时需要添加Lazy<T>
。
像这样:
[Import]
Lazy<LegacyEntry> LegacyEntry { get; set; }
或多个
[ImportMany]
IEnumerable<Lazy<LegacyEntry>> LegacyEnties { get; set; }