public MainWindow() { InitializeComponent(); //Авторизация WindowLogin windowLogin = new WindowLogin(); windowLogin.ShowDialog(); //Если форма была закрыта, и токен не передали то закрываем программу. if (windowLogin.AccessToken == null) { Closing -= MainWindow_OnClosing; Close(); return; } audioFunctions = new AudioFunctions(windowLogin.AccessToken, windowLogin.UserId); //После получения доступа задаём запрос на список рекомендуемых песен. _audiosRecomendedList = audioFunctions.GetRecommendations(Convert.ToInt32(TxbCount.Text)); //Инициализация воркера _workerDownload = new BackgroundWorker(); _workerDownload.WorkerSupportsCancellation = true; //Для возможности отмены. _workerDownload.DoWork += worker_DoWork; _workerDownload.RunWorkerCompleted += worker_RunWorkerCompleted; //Считывание настроек. Settings.ReadSettings(); if (Settings.PathCurUsedArtists != "New") BlockCollection(Settings.PathCurUsedArtists, BlockTabType.Artists); if (Settings.PathCurUsedSongs != "New") BlockCollection(Settings.PathCurUsedSongs, BlockTabType.Songs); SldVolume.Value = Settings.Volume; PlayerInitialization(); RbtnLangAll.IsChecked = true; //Пост установка флага, иначе вызывается событие раньше времени. FilterSongs(); //Фильтруем песни. DataGridAudio.ItemsSource = _fileteredRecomendedList; //Привязываем готовый список к датагрид. }