【问题标题】:WPF Prism MEF View lazy loadingWPF Prism MEF 查看延迟加载
【发布时间】:2018-03-29 09:52:24
【问题描述】:

我正在通过 MEF 和 Prism 发现我的观点。但是,构造函数会导入我不想加载的东西,直到完整的引导程序完成。

我不想让 MEF 在引导时为我实例化所有这些对象,我只想向 MEF 和特定区域注册一个视图,但只是在我第一次导航到它时构造和加载它。

这可能吗?

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

【问题讨论】:

    标签: c# wpf mvvm prism


    【解决方案1】:

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

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

    或多个

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-06
      • 2011-03-17
      相关资源
      最近更新 更多