} // OnPropertyChanged public ApplicationViewModel(MainWindow mainWindow) { StatusText = "Добро пожаловать"; _mainWindow = mainWindow; _basic = mainWindow.Basic; //***** СОЗДАНИЕ КОМАНД *****// ExitCommand = new RelayCommand(Exit); MinimizeCommand = new RelayCommand(Minimize); AboutCommand = new RelayCommand(About); BackCommand = new RelayCommand(Back); GoToFolderCommand = new RelayCommand(GoToFolder); GoToUserFolderCommand = new RelayCommand(GoToUserFolder); CreateFolderCommand = new RelayCommand(CreateFolder); DeleteCommand = new RelayCommand(Delete); RefreshCommand = new RelayCommand(Refresh); _isConnect = _basic.ConnectWithServer(); if (_isConnect) { StatusText = $"Подключено к {_basic.LoginData.HostName}:{_basic.LoginData.Port}"; } else { StatusText = "Не удаётся подключиться к серверу. Сервер отверг запрос на подключение."; } // if-else } // ApplicationViewModel
// Главное окно передаётся во ViewModel // Свойство Basic делается public // Благодаря этому имеем доступ ко всем нужным свойствам отовсюду public MainWindow() { Basic = new BasicProps(); // Окно входа StartAppWindow win = new StartAppWindow(); bool? flagExit = win.ShowDialog(); if (flagExit.Value == false) { Application.Current.Shutdown(); } else { // Если пользователь вошёл успешно InitializeComponent(); SplashScreen ss = new SplashScreen(@"Images\splashScreen.png"); ss.Show(true, true); ss.Close(new TimeSpan(0, 0, 2)); Basic.LoginData = new LoginData { HostName = win.TextBoxHostName.Text, Port = win.TextBoxPort.Text, UserName = win.TextBoxUserName.Text }; Basic.DataGridMain = (DataGrid)FindName("DataGridMain"); DataContext = new ApplicationViewModel(this); } // if-else } // MainWindow