/// <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); }
/// <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; }