WPF Prism MEF查看延迟加载

时间:2018-03-29 09:52:25

标签: c# wpf mvvm prism

我通过MEF和Prism发现了我的观点。但是构造函数会在完全引导程序完成之后导入我不想加载的内容。

而不是MEF在bootstrap时为我实例化所有这些对象,我只是想用MEF和特定区域注册一个View,但是当我第一次导航到它时只构造和加载它。 / p>

这可能吗?

[Export("LegacyEntry")]
    [ViewExport]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public partial class LegacyEntry
    {
        public IEntryViewModel ViewModel
        {
            set => DataContext = value;
        }

1 个答案:

答案 0 :(得分:0)

导入模块时需要添加Lazy<T>。 像这样:

[Import]
Lazy<LegacyEntry> LegacyEntry { get; set; }

或多个

[ImportMany]
IEnumerable<Lazy<LegacyEntry>> LegacyEnties { get; set; }