void searchTabClose_Click(object sender, RoutedEventArgs e) { SearchResultTabItem tab = sender as SearchResultTabItem; if (null == tab) { return; } // confirmation delete ConfirmationWindow confirm = new ConfirmationWindow { Message = string.Format("Delete search - {0}", tab.Name) }; confirm.Left = Left + Width / 2 - confirm.Width / 2; confirm.Top = Top + Height / 2 - confirm.Height / 2; if (confirm.ShowDialog() != true) { return; } // remove search from saved search _twitter.SavedSearchesManager.RemoveSearch(tab.Name); // dispose tab and remove from UI tab.Close -= new RoutedEventHandler(searchTabClose_Click); tab.Dispose(); tcSearches.Items.Remove(tab); }
void tabClose_Click(object sender, RoutedEventArgs e) { CategoryTabItem tab = sender as CategoryTabItem; if (null == tab) { return; } // confirmation delete ConfirmationWindow confirm = new ConfirmationWindow { Message = string.Format("Delete category - {0}", tab.Name) }; confirm.Left = Left + Width / 2 - confirm.Width / 2; confirm.Top = Top + Height / 2 - confirm.Height / 2; if (confirm.ShowDialog() != true) { return; } // do some cleaning up on the tweets panel in the tab tab.TweetsPanel.AvatarClicked -= imgAvatar_MouseDown; tab.TweetsPanel.TweetTextLoaded -= TextBlock_Loaded; tab.TweetsPanel.ReplyClicked -= btnReply_Click; tab.TweetsPanel.DirectMessageClicked -= btnDirectMessage_Click; tab.TweetsPanel.RetweetClicked -= btnRetweet_Click; tab.TweetsPanel.DeleteClicked -= btnDelete_Click; tab.TweetsPanel.Dispose(); // do some cleaning up on the tab to be closed tab.EditClick -= tabEdit_Click; tab.Close -= tabClose_Click; tab.Dispose(); tcCategories.Items.Remove(tab); // retrieve category name from tab header and remove it from category manager string categoryName = tab.Name; CategoriesManager.RemoveCategory(categoryName); // refresh views RefreshViews(); }