Category / Section
How to remove space between header and content of TabItem in WPF DockingManager?
1 min read
You can reduce the space between TabItem header and the content of the TabItem by customizing the margin value of the ContentPresenter(“PART_SelectedContentHost”) in which we have placed the actual content of TabItem in WPF DockingManager. The following code example demonstrate the same,
Mainwindow.xaml
<syncfusion:DockingManager x:Name="_Docking" UseDocumentContainer="True" syncfusion:SkinStorage.VisualStyle="Metro"> <ContentControl syncfusion:DockingManager.Header="Dock1" Background="Brown" syncfusion:DockingManager.State="Document"> <TextBlock Background="Brown"></TextBlock> </ContentControl> <ContentControl syncfusion:DockingManager.Header="Dock2" syncfusion:DockingManager.State="Document"> <TextBlock Background="Green" ></TextBlock> </ContentControl> <ContentControl syncfusion:DockingManager.Header="Dock3" syncfusion:DockingManager.State="Document"> <TextBlock Background="Red"></TextBlock> </ContentControl> </syncfusion:DockingManager>
Mainwindow.cs
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); (Docking.DocContainer as DocumentContainer).Loaded += MainWindow_Loaded; } void MainWindow_Loaded(object sender, RoutedEventArgs e) { DocumentTabControl tabcontrol = VisualUtils.FindDescendant(Docking, typeof(DocumentTabControl)) as DocumentTabControl; if (tabcontrol != null) { ContentPresenter content = tabcontrol.Template.FindName("PART_SelectedContentHost", tabcontrol) as ContentPresenter; if (content != null && !content.Margin.Equals(new Thickness(0))) { content.Margin = new Thickness(0); } } } }
The following screenshot shows the default layout of the Document window,
The following screenshot shows the output of the above code,