/// <summary> /// このタブ以外すべてを閉じるメソッド /// </summary> /// <param name="thisTabData">残しておくタブ</param> public void CloseAllTabsExceptThisTab(TabData thisTabData) { foreach (var eventTabData in TabDatas.Where(tabData => tabData.TabId != thisTabData.TabId)) { var tabRemovedEventArgs = new TabRemovedEventArgs { TabId = eventTabData.TabId }; _eventAggregator.GetEvent <TabRemovedEvent>().Publish(tabRemovedEventArgs); } TabDatas.RemoveAll(tabData => tabData.TabId != thisTabData.TabId); }
// パブリック変数 /// <summary> /// 新しいアカウントタブを呼び出し元ウィンドウに追加します。 /// </summary> /// <param name="accounts"></param> public void AddAccountTab(object[] accounts) { var account = (Account.Account)accounts.FirstOrDefault(); var tabData = new TabData { Header = account.Tokens.ScreenName, TabId = Guid.NewGuid().ToString(), Tokens = account.Tokens }; _tabManager.TabDatas.Add(tabData); _dialogService.CloseAddAccountTabView(); }