Example #1
0
        /// <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();
        }