Articles in this section
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.

WPF DockingManager displays closing window button

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.

            WPF DockingManger without tab window

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied