我无法在.NET 4.5中找到System.ComponentModel.Composition.Initialization.dll(其中包含CompositionInitializer类的声明)。这个程序集是否已经从.NET 4.5中的MEF中移除? 现在我该如何编写标有[导出]和[导入]属性的应用程序的某些部分?MEF 4.5中缺少CompositionInitializer。我可以用什么来代替?
假设我有这样的观点:
internal partial class StartWindow : Window
{
public StartWindow()
{
InitializeComponent();
DataContext = ViewModel;
}
[Import]
public IStartWindowViewModel ViewModel { get; set; }
}
及相应的视图模型:
[Export]
internal class StartWindowViewModel : IStartWindowViewModel
{
public IEnumerable<Customer> Customers { get; set; }
}
我要补充在我的壳(或其他地方)组成,这些零件?
你可以给MEF构造器注入的简单的例子? 我想在shell中使用适当的ViewModels组合我的所有视图。 –
@DmitryMartovoi除非您在代码*中构建您的视图,否则很难做到。请参阅此处的构造函数部分:http://mef.codeplex.com/wikipage?title=Declaring%20Imports –