Estoy recién aprendiendo WPF y Caliburn.Micro. Estoy siguiendo el código que se presenta aquí: http://caliburnmicro.codeplex.com/wikipage?title=Customizing%20The%20Bootstrapper&referringTitle=DocumentationCaliburn.Micro y MEF en wpf
Aparentemente, este código es para Silverlight pero mi proyecto es un WPF y por este motivo recibo el error de que CompositionHost no está definido.
El documento indica que necesito inicializar el contenedor directamente en wpf, pero no hay ningún documento que muestre cómo hacerlo. ¿Cómo puedo inicializar el contenedor directamente?
Editar 1 La flejadora de arranque es como esto en la documentación:
container = CompositionHost.Initialize(
new AggregateCatalog(
AssemblySource.Instance.Select(x => new AssemblyCatalog(x)).OfType<ComposablePartCatalog>()
)
);
var batch = new CompositionBatch();
batch.AddExportedValue<IWindowManager>(new WindowManager());
batch.AddExportedValue<IEventAggregator>(new EventAggregator());
batch.AddExportedValue(container);
container.Compose(batch);
y yo lo convirtió a:
var catalog =
new AggregateCatalog(
AssemblySource.Instance.Select(x => new AssemblyCatalog(x)).OfType<ComposablePartCatalog>());
this.container = new CompositionContainer(catalog);
var batch = new CompositionBatch();
batch.AddExportedValue<IWindowManager>(new WindowManager());
batch.AddExportedValue<IEventAggregator>(new EventAggregator());
batch.AddExportedValue(this.container);
this.container.Compose(batch);
Pero cuando corro solicitud, estoy consiguiendo error que el MEF no puede encontrar implementación para IShell
Could not locate any instances of contract IShell.
Creo en mi inicialización de M EF no es correcto ¿Puedes ayudarme a arreglarlo?
Gracias. Por favor, mira mi edición a la pregunta. – mans
@mans Por favor vea mi actualización de respuesta. –