Example #1
0
        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();
            }
        }
Example #2
0
        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();
 }