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