public virtual void Start() { Initialize(); var app = MvvmApplication.Current; var ctx = new DataContext(app.Context); if (!ctx.Contains(NavigationConstants.IsDialog)) { ctx.Add(NavigationConstants.IsDialog, false); } app.IocContainer .Get <IViewModelProvider>() .GetViewModel(app.GetStartViewModelType(), ctx) .ShowAsync((model, result) => { model.Dispose(); if (ShutdownOnMainViewModelClose) { Application.Exit(); } }, context: ctx); if (AutoRunApplication) { Application.Run(); } }
public virtual void Start() { Initialize(); var app = MvvmApplication.Current; var iocContainer = app.IocContainer; var ctx = new DataContext(app.Context); if (!ctx.Contains(NavigationConstants.IsDialog)) { ctx.Add(NavigationConstants.IsDialog, false); } var viewModelType = app.GetStartViewModelType(); NavigationWindow rootWindow = null; var mappingProvider = iocContainer.Get <IViewMappingProvider>(); IViewMappingItem mapping = mappingProvider.FindMappingForViewModel(viewModelType, ctx.GetData(NavigationConstants.ViewName), true); if (typeof(Page).IsAssignableFrom(mapping.ViewType)) { rootWindow = CreateNavigationWindow(); var service = CreateNavigationService(rootWindow); iocContainer.BindToConstant(service); } var vm = iocContainer .Get <IViewModelProvider>() .GetViewModel(viewModelType, ctx); vm.ShowAsync((model, result) => { model.Dispose(); if (ShutdownOnMainViewModelClose) { Application application = Application.Current; if (application != null) { Action action = application.Shutdown; application.Dispatcher.BeginInvoke(action); } } }, context: ctx); if (rootWindow != null) { IWindowViewMediator mediator = new WindowViewMediator(rootWindow, vm, iocContainer.Get <IThreadManager>(), iocContainer.Get <IViewManager>(), iocContainer.Get <IWrapperManager>(), iocContainer.Get <IOperationCallbackManager>()); mediator.UpdateView(new PlatformWrapperRegistrationModule.WindowViewWrapper(rootWindow), true, ctx); rootWindow.Show(); } }
/// <summary> /// Starts the current bootstrapper. /// </summary> public virtual void Start() { InitializationContext = new DataContext(InitializationContext); if (!InitializationContext.Contains(NavigationConstants.IsDialog)) InitializationContext.Add(NavigationConstants.IsDialog, false); Initialize(); Type viewModelType = GetMainViewModelType(); NavigationWindow rootWindow = null; var mappingProvider = IocContainer.Get<IViewMappingProvider>(); IViewMappingItem mapping = mappingProvider.FindMappingForViewModel(viewModelType, InitializationContext.GetData(NavigationConstants.ViewName), true); if (typeof(Page).IsAssignableFrom(mapping.ViewType)) { rootWindow = CreateNavigationWindow(); var service = CreateNavigationService(rootWindow); IocContainer.BindToConstant(service); } var vm = CreateMainViewModel(viewModelType); vm.ShowAsync((model, result) => { model.Dispose(); if (ShutdownOnMainViewModelClose) { Application app = Application.Current; if (app != null) { Action action = app.Shutdown; app.Dispatcher.BeginInvoke(action); } } }, context: new DataContext(InitializationContext)); if (rootWindow != null) { IWindowViewMediator mediator = new WindowViewMediator(rootWindow, vm, IocContainer.Get<IThreadManager>(), IocContainer.Get<IViewManager>(), IocContainer.Get<IWrapperManager>(), IocContainer.Get<IOperationCallbackManager>()); mediator.UpdateView(new PlatformWrapperRegistrationModule.WindowViewWrapper(rootWindow), true, new DataContext(InitializationContext)); rootWindow.Show(); } }
public virtual void Start() { Initialize(); var app = MvvmApplication.Current; var ctx = new DataContext(app.Context); if (!ctx.Contains(NavigationConstants.IsDialog)) ctx.Add(NavigationConstants.IsDialog, false); app.IocContainer .Get<IViewModelProvider>() .GetViewModel(app.GetStartViewModelType(), ctx) .ShowAsync((model, result) => { model.Dispose(); if (ShutdownOnMainViewModelClose) Application.Exit(); }, context: ctx); if (AutoRunApplication) Application.Run(); }
/// <summary> /// Starts the current bootstrapper. /// </summary> public virtual void Start() { InitializationContext = new DataContext(InitializationContext); if (!InitializationContext.Contains(NavigationConstants.IsDialog)) InitializationContext.Add(NavigationConstants.IsDialog, false); Initialize(); var viewModelType = GetMainViewModelType(); CreateMainViewModel(viewModelType) .ShowAsync((model, result) => { model.Dispose(); if (ShutdownOnMainViewModelClose) Application.Exit(); }, context: new DataContext(InitializationContext)); if (AutoRunApplication) Application.Run(); }