Мне показалось, что эти два очень полезны:
http://www.codeproject.com/KB/WPF/blendable_locator.aspx http://rickrat.wordpress.com/2011/01/24/using-mef-to-link-view-model-locator-and-load-assembly-uis-dynamically
first one - просто простое раскрывающееся представление viewModelLocatorкласс для MVVM Light, который дает вам возможности MEF.
[ExportViewModel("Demo1", false)]
class Demo1ViewModel : ViewModel
{
}
И секунда один использует тот же подход с дополнительным классом MefHelper, который обеспечивает загрузку компонентов MEF во время выполнения.
public void Compose()
{
AggregateCatalog Catalog = new AggregateCatalog();
// Add This assembly's catalog parts
System.Reflection.Assembly ass = System.Reflection.Assembly.GetEntryAssembly();
Catalog.Catalogs.Add(new AssemblyCatalog(ass));
// Directory of catalog parts
if (System.IO.Directory.Exists(ExtensionsPath))
{
Catalog.Catalogs.Add(new DirectoryCatalog(ExtensionsPath));
string[] folders = System.IO.Directory.GetDirectories(ExtensionsPath);
foreach (string folder in folders)
{
Catalog.Catalogs.Add(new DirectoryCatalog(folder));
}
}
_Container = new CompositionContainer(Catalog);
}