///<summary> Закрытие заданной вкладки. </summary> public void CloseTab(TabItem targetTab) { string tabName = tabMap.FirstOrDefault(ent => ent.Value == targetTab).Key; // закрываем каталог при закрытии главной панели if (tabName == "Main") { CloseCatalog(); return; } // чистим, если панель альбома if (targetTab.Content is AlbumPanel) { AlbumPanel albPanel = targetTab.Content as AlbumPanel; albPanel.ClearPanel(); if (albPanel.DataContext is CatalogAlbum) { var album = albPanel.DataContext as CatalogAlbum; album?.StopLoadEntCoversThread(); } } RemoveTab(targetTab); }
private Dictionary <string, TabItem> tabMap = new Dictionary <string, TabItem>(); // хранилище вкладок /// <summary> Открытие вкладки альбома. </summary> public void OpenAlbumTab(CatalogAlbum album, bool focus = true) { string tabName = "" + album.Name; // проверяем существование вкладки if (tabMap.ContainsKey(tabName)) { if (focus) { Dispatcher.BeginInvoke((Action)(() => tabMap[tabName].IsSelected = true)); } return; } // формируем альбомную панель AlbumPanel albPanel = new AlbumPanel(album.EntryList); albPanel.UpdatePanelContent(); albPanel.DataContext = album; var targetTab = new ClosableTab(tabName, albPanel, CloseTab); AddTab(targetTab, tabName, focus); // запускаем фоновый генератор обложек для эпизодов в альбоме album.RunLoadEntCoversThreaded(); }
//Filter by Track Album Done button private void metroButton6_Click(object sender, EventArgs e) { FileStream FS = new FileStream("mp3.txt", FileMode.Open); BinaryFormatter BF = new BinaryFormatter(); List <MP3Tag_and_nameOf_MP3> list = new List <MP3Tag_and_nameOf_MP3>(); while (FS.Position < FS.Length) { MP3Tag_and_nameOf_MP3 Tag = (MP3Tag_and_nameOf_MP3)BF.Deserialize(FS); if (Tag.Album == metroComboBox3.SelectedItem.ToString()) { list.Add(Tag); } } FS.Close(); FileStream fs = new FileStream("mp3.txt", FileMode.Truncate); fs.Close(); FileStream F = new FileStream("mp3.txt", FileMode.Open); for (int i = 0; i < list.Count; i++) { BF.Serialize(F, list[i]); } F.Close(); MessageBox.Show("You have chosen: " + list.Count().ToString() + " song for Album: " + list[0].Album); AlbumPanel.Hide(); }
///<summary> Открытие основной вкладки каталога. </summary> public void OpenMainTab() { string tabName = "Main"; if (tabMap.ContainsKey(tabName)) { Dispatcher.BeginInvoke((Action)(() => tabMap[tabName].IsSelected = true)); return; } MainPanel = new AlbumPanel(CatEng.CatRoot.AlbumsList, true); MainPanel.DataContext = CatEng.CatRoot; var targetTab = new ClosableTab(tabName, MainPanel, CloseTab); AddTab(targetTab, tabName); }
private void create() { Instantiate(PrefEventSystem); _canvas = Instantiate(PrefCanvas); _lobbyPanel = Instantiate(PrefLobbyPanel); _lobbyPanel.transform.SetParent(_canvas.transform, false); _formPanel = Instantiate(PrefFormPanel); _formPanel.transform.SetParent(_canvas.transform, false); _constitutionPanel = Instantiate(PrefConstitutionPanel); _constitutionPanel.transform.SetParent(_canvas.transform, false); _zodiacPanel = Instantiate(PrefZodiacPanel); _zodiacPanel.transform.SetParent(_canvas.transform, false); _albumPanel = Instantiate(PrefAlbumPanel); _albumPanel.transform.SetParent(_canvas.transform, false); }
///<summary> Закрытие всех вкладок. </summary> public void CloseAllTab() { foreach (var targetTab in tabMap.Values.ToArray()) { string tabName = tabMap.FirstOrDefault(ent => ent.Value == targetTab).Key; // вкладка с панелью альбома if (targetTab.Content is AlbumPanel) { AlbumPanel albPanel = targetTab.Content as AlbumPanel; albPanel.ClearPanel(); if (albPanel.DataContext is CatalogAlbum) { var album = albPanel.DataContext as CatalogAlbum; album?.StopLoadEntCoversThread(); } } RemoveTab(targetTab); } }
//Filter by Album button ( switches panels ) private void bunifuTileButton3_Click(object sender, EventArgs e) { AlbumPanel.Show(); }