Exemple #1
0
        //CONSTRUCTOR!!!
        public MainWindowVM(Window window)
        {
            mainWindow = window;

            mainWindow.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            mainWindow.WindowState           = WindowState.Normal;
            mainWindow.Opacity = 0;

            mainWindow.Cursor = CustomCursors.Normal_Select;

            //Init loading window
            loadingWindow = new LoadingWindow();
            loadingWindow.Show();
            loadingWindow.Closed += LoadingWindow_Closed;

            //Models init
            Task.Run(() =>
            {
                BasicNetInterfaceDataHub = new NetworkDataHub(BasicInterfaceTypes.ToArray());
                BasicSystemDataHub       = new SystemDataHub();
            });

            //Searching elements
            mainWindow.ApplyTemplate();
            titleLine         = (Grid)mainWindow.Template.FindName("TitleLine", mainWindow);
            windowNeon        = (DropShadowEffect)mainWindow.Template.FindName("WindowNeon", mainWindow);
            maxSizeButton     = (Button)mainWindow.Template.FindName("MaxSizeButton", mainWindow);
            minSizeButton     = (Button)mainWindow.Template.FindName("MinSizeButton", mainWindow);
            closeWindowButton = (Button)mainWindow.Template.FindName("CloseWindowButton", mainWindow);
            pagesViewer       = (Frame)mainWindow.FindName("PagesViewer");
            sideMenu          = (SideMenuControl)mainWindow.FindName("SideMenu");
            nextPageButton    = (Button)sideMenu.Template.FindName("NextButton", sideMenu);
            prevPageButton    = (Button)sideMenu.Template.FindName("PrevButton", sideMenu);
            homeButton        = (Button)sideMenu.Template.FindName("HomeButton", sideMenu);

            //Menu buttons click events connect
            foreach (Button menuButton in (sideMenu.Content as StackPanel).Children)
            {
                menuButton.Click += ChangeMenuSelection;
            }

            //Navigate buttons init
            nextPageButton.IsEnabled = false;
            prevPageButton.IsEnabled = false;

            //Commands time!
            CommandsInit();

            //Pages array init
            Pages = new Page[3];

            //PagesViewer init
            DoubleAnimation OpenAnim = new DoubleAnimation(1, new Duration(new TimeSpan(0, 0, 0, 0, 750)));

            welcomePage            = new WelcomePage();
            welcomePage.MouseDown += WelcomePage_MouseDown;

            pagesViewer.JournalOwnership = JournalOwnership.OwnsJournal;
            pagesViewer.Content          = welcomePage;
            pagesViewer.Navigated       += PagesViewer_Navigated;
            welcomePage.BeginAnimation(Page.OpacityProperty, OpenAnim);
            WelcomePageON = true;

            //Window events binding
            mainWindow.StateChanged += MainWindow_StateChanged;
            mainWindow.Loaded       += MainWindow_Loaded;
            mainWindow.MouseEnter   += MainWindow_MouseEnter;
            mainWindow.MouseLeave   += MainWindow_MouseLeave;
        }