我無法在.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 –