Category / Section
How to change auto hide behavior of TabbedWindow in WPF DockingManager?
2 mins read
The AutoHideTabMode property of WPF DockingManager allows to autohide the tabbed dock window in two different mode such as AutoHideActive and AutoHideGroup.
When AutoHideTabMode property is AutoHideActive, it makes the current tabbed window to autohide.
When AutoHideTabMode property is AutoHideGroup, it makes the whole tabbed window to get autohide.
This code shows when the AutoHideTabMode property is AutoHideActive.
XAML
<Window x:Class="TDIIndex.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" AutoHideTabsMode="AutoHideActive"> <ContentControl syncfusion:DockingManager.Header="Tabbedwindow1" /> <ContentControl syncfusion:DockingManager.Header="Tabbedwindow2" /> <ContentControl syncfusion:DockingManager.Header="Tabbedwindow3" /> </syncfusion:DockingManager> </Grid> </Window>
C#
using Syncfusion.Windows.Tools.Controls; namespace TDIIndex { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DockingManager DockingManager1 = new DockingManager(); DockingManager1.AutoHideTabsMode = AutoHideTabsMode.AutoHideActive; ContentControl content1 = new ContentControl(); DockingManager.SetHeader(content1, "Tabbedwindow1"); ContentControl content2 = new ContentControl(); DockingManager.SetHeader(content2, "Tabbedwindow2"); ContentControl content3 = new ContentControl(); DockingManager.SetHeader(content3, "Tabbedwindow3"); DockingManager1.Children.Add(content1); DockingManager1.Children.Add(content2); DockingManager1.Children.Add(content3); Grid1.Children.Add(DockingManager1); } } }
The following screenshots how the current tabbed window get autohide
This code shows when the AutoHideTabMode property is AutoHideGroup
XAML
<Window x:Class="TDIIndex.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" AutoHideTabsMode="AutoHideGroup"> <ContentControl syncfusion:DockingManager.Header="Tabbedwindow1" /> <ContentControl syncfusion:DockingManager.Header="Tabbedwindow2" /> <ContentControl syncfusion:DockingManager.Header="Tabbedwindow3" /> </syncfusion:DockingManager> </Grid> </Window>
C#
using Syncfusion.Windows.Tools.Controls; namespace TDIIndex { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DockingManager DockingManager1 = new DockingManager(); //The following code shows DockingManager1.AutoHideTabsMode = AutoHideTabsMode.AutoHideGroup; ContentControl content1 = new ContentControl(); DockingManager.SetHeader(content1, "Tabbedwindow1"); ContentControl content2 = new ContentControl(); DockingManager.SetHeader(content2, "Tabbedwindow2"); ContentControl content3 = new ContentControl(); DockingManager.SetHeader(content3, "Tabbedwindow3"); DockingManager1.Children.Add(content1); DockingManager1.Children.Add(content2); DockingManager1.Children.Add(content3); Grid1.Children.Add(DockingManager1); } } }
The following screenshots how all the tabbed window get autohide.