Category / Section
What are the different ways to close a tabbed window in WPF DockingManager?
2 mins read
Tabbed window provides two modes of closing behavior using the WPF DockingManager’s property CloseTabs. To close the active tabbed window, the value of CloseTabs should set as CloseActive. To close all the tabbed window, the value of CloseTabs should set as CloseAll.
The following code illustrate when CloseTabs is CloseActive.
XAML
<Window x:Class="Application_New.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:syncfusion="http://schemas.syncfusion.com/wpf" Title="MainWindow" Height="350" Width="525"> <Grid x:Name="Grid1"> <syncfusion:DockingManager x:Name="DockingManager" UseDocumentContainer="True" CloseTabs="CloseActive"> <ContentControl syncfusion:DockingManager.Header="Item1" x:Name="Content1"/> <ContentControl syncfusion:DockingManager.Header="Item2" x:Name="Content2" syncfusion:DockingManager.SideInDockedMode="Tabbed" syncfusion:DockingManager.TargetNameInDockedMode="Content1"/> <ContentControl syncfusion:DockingManager.Header="Item3" x:Name="Content3" syncfusion:DockingManager.SideInDockedMode="Tabbed" syncfusion:DockingManager.TargetNameInDockedMode="Content1"/> </syncfusion:DockingManager> </Grid> </Window>
C#
using Syncfusion.Windows.Tools.Controls; namespace Application_New { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DockingManager DockingManager = new DockingManager(); DockingManager.UseDocumentContainer = true; DockingManager.CloseTabs = CloseTabsMode.CloseActive; ContentControl content1 = new ContentControl(); content1.Name = "Content1"; DockingManager.SetHeader(content1, "Item1"); ContentControl content2 = new ContentControl(); DockingManager.SetHeader(content2, "Item2"); DockingManager.SetSideInDockedMode(content2, DockSide.Tabbed); DockingManager.SetTargetNameInDockedMode(content2, "Content1"); ContentControl content3 = new ContentControl(); DockingManager.SetHeader(content3, "Item3"); DockingManager.SetSideInDockedMode(content3, DockSide.Tabbed); DockingManager.SetTargetNameInDockedMode(content3, "Content1"); DockingManager.Children.Add(content1); DockingManager.Children.Add(content2); DockingManager.Children.Add(content3); Grid1.Children.Add(DockingManager); } } }
The following output shows the active tabbed window “Item1” closed.
The following code illustrate when CloseTabs is CloseAll.
XAML
<Window x:Class="Application_New.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:syncfusion="http://schemas.syncfusion.com/wpf" Title="MainWindow" Height="350" Width="525"> <Grid x:Name="Grid1"> <syncfusion:DockingManager x:Name="DockingManager" UseDocumentContainer="True" CloseTabs="CloseAll"> <ContentControl syncfusion:DockingManager.Header="Item1" x:Name="Content1"/> <ContentControl syncfusion:DockingManager.Header="Item2" x:Name="Content2" syncfusion:DockingManager.SideInDockedMode="Tabbed" syncfusion:DockingManager.TargetNameInDockedMode="Content1"/> <ContentControl syncfusion:DockingManager.Header="Item3" x:Name="Content3" syncfusion:DockingManager.SideInDockedMode="Tabbed" syncfusion:DockingManager.TargetNameInDockedMode="Content1"/> </syncfusion:DockingManager> </Grid> </Window>
C#
using Syncfusion.Windows.Tools.Controls; namespace Application_New { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DockingManager DockingManager = new DockingManager(); DockingManager.UseDocumentContainer = true; DockingManager.CloseTabs = CloseTabsMode.CloseAll; ContentControl content1 = new ContentControl(); content1.Name = "Content1"; DockingManager.SetHeader(content1, "Item1"); ContentControl content2 = new ContentControl(); DockingManager.SetHeader(content2, "Item2"); DockingManager.SetSideInDockedMode(content2, DockSide.Tabbed); DockingManager.SetTargetNameInDockedMode(content2, "Content1"); ContentControl content3 = new ContentControl(); DockingManager.SetHeader(content3, "Item3"); DockingManager.SetSideInDockedMode(content3, DockSide.Tabbed); DockingManager.SetTargetNameInDockedMode(content3, "Content1"); DockingManager.Children.Add(content1); DockingManager.Children.Add(content2); DockingManager.Children.Add(content3); Grid1.Children.Add(DockingManager); } } }
The following output shows all tabbed window closed.