/// <summary>
 /// Helper method to retrieve the ICaliburnMicroContext
 /// </summary>
 /// <param name="properties">IDictionary</param>
 /// <param name="caliburnMicroContext">ICaliburnMicroContext</param>
 /// <returns>bool if there was already an </returns>
 private static bool TryRetrieveCaliburnMicroContext(this IDictionary <object, object> properties, out ICaliburnMicroContext caliburnMicroContext)
 {
     if (properties.TryGetValue(CaliburnMicroContextKey, out var caliburnContextAsObject))
     {
         caliburnMicroContext = (ICaliburnMicroContext)caliburnContextAsObject;
         return(true);
     }
     caliburnMicroContext = new CaliburnMicroContext();
     properties[CaliburnMicroContextKey] = caliburnMicroContext;
     return(false);
 }
예제 #2
0
 /// <summary>
 /// CaliburnMicroBootstrapper
 /// </summary>
 /// <param name="logger">ILogger</param>
 /// <param name="serviceProvider">IServiceProvider</param>
 /// <param name="loggerFactory">ILoggerFactory</param>
 /// <param name="windowManager">IWindowManager</param>
 /// <param name="wpfContext">IWpfContext</param>
 /// <param name="caliburnMicroContext">ICaliburnMicroContext</param>
 public CaliburnMicroBootstrapper(
     ILogger <CaliburnMicroBootstrapper> logger,
     IServiceProvider serviceProvider,
     ILoggerFactory loggerFactory,
     IWindowManager windowManager,
     IWpfContext wpfContext,
     ICaliburnMicroContext caliburnMicroContext)
 {
     this.logger               = logger;
     this.serviceProvider      = serviceProvider;
     this.loggerFactory        = loggerFactory;
     this.windowManager        = windowManager;
     this.wpfContext           = wpfContext ?? throw new ArgumentNullException(nameof(wpfContext));
     this.caliburnMicroContext = caliburnMicroContext;
 }