protected override void InitializeShell()
        {
            base.Container.SatisfyImportsOnce(this);

            base.InitializeShell();

            if (this.viewContext == null)
            {
                Trace.WriteLine("ERROR - ViewContext failed!");
            }
            else
            {
                this.viewContext.Initialize();
            }

            if (this.resMgr == null)
            {
                Trace.WriteLine("ERROR - ResourceManager failed!");
            }
            else
            {
                Application.Current.Properties.Add("ResourceManager", resMgr.Initialize());
            }

            if (this.viewContext != null)
            {
                this.viewContext.CurrentUserParam = currentUserParam;
                //this.viewContext.Container = this.Container;
            }

            ModernWindow window = new ModernWindow();

            ((IShellCtrl)this.Shell).Container = this.Container;

            Application.Current.MainWindow.Close();
            Application.Current.MainWindow = window;
            window.Title   = resMgr.GetStringID("APP_Name");
            window.Loaded += (o, args) =>
            {
                this.ShellCtrl.DataContext  = this.viewContext;
                window.ContentFrame.Content = this.ShellCtrl;
                FrameContext frameContext = new FrameContext();
                frameContext.Initialize(this.regionManager);
                window.Closing += frameContext.OnCloseWindow;
                window.NavigateBack.DataContext = frameContext;

                //IViewModelBase viewModel = this.serviceLocator.GetInstance<IViewModelBase>("StatusBarViewModel");
                //window.StatusBar.Content = viewModel.View;
            };

            window.Top     = 0;
            window.Left    = 0;
            window.Width   = 1200;
            window.Height  = 760;
            window.Topmost = false;
            Application.Current.MainWindow.Show();
        }