In this article we will be creating certain tabs in a tab control with context menu with an option to remove certain tab item.
First create a blank c# WPF application using visual studio 2008 and name the default grid as Master.
Right click on window and select view code,
Here we create a method to remove a tabItem. The method accepts a TabItem needed to be removed as parameter.
private void closeTabItem(TabItem item)
{
if (item != null)
{
// find the parent tab control
TabControl tabControl = item.Parent as TabControl;
if (tabControl != null)
tabControl.Items.Remove(item); // remove tabItem
}
}
Now Double click the window and add this code to window load event.
// Create Context Menu
ContextMenu contextMenu1;
contextMenu1 = new ContextMenu();
//Create menu items
MenuItem menuItem1;
menuItem1 = new MenuItem();
//add menu item in context menu
contextMenu1.Items.Add(menuItem1);
menuItem1.Header = "Close"; // define name of context menu
//Create Tab Items
TabItem Item1 = new TabItem();
Item1.Header = "Tab1";
TabItem Item2 = new TabItem();
Item2.Header = "Tab2";
// define clicking event of menuitem
menuItem1.Click += delegate { closeTabItem(Item1); };
// Incorporate context menu with tab items
Item1.ContextMenu = contextMenu1;
//Create tab Control
TabControl tabControl1 = new TabControl();
//Insert Tab Items in Tab Control
tabControl1.Items.Add(Item1);
tabControl1.Items.Add(Item2);
Master.Childer.Add(tabControl1); // Insert Tab Control in Master Grid
Now Compile and execute the project. On right click on Tab1 you will see a pop-up menu with close option to close (remove) that tabItem.