Category / Section
How to add new tab at specific index poistion for WPF DockingManager?
1 min read
You can add the document at specific index position for WPF DockingManager by setting DocumentTabOrderIndex.
XAML
//How to Add new tab at specific index position for dockingmanager <Window x:Class="DocumentTabOrder.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="DocumentTabOrderIndex" Height="350" Width="525"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="40" /> <RowDefinition/> </Grid.RowDefinitions> <Button Content="add tab" Height="30" Width="200" VerticalAlignment="Center" HorizontalAlignment="Center" Click="AddItem"/> <syncfusion:DockingManager Grid.Row="1" x:Name="dockingManager" UseDocumentContainer="True"> <ContentControl syncfusion:DockingManager.State="Document" syncfusion:DockingManager.Header="Tab1" syncfusion:DockingManager.DocumentTabOrderIndex="1"> </ContentControl> <ContentControl syncfusion:DockingManager.State="Document" syncfusion:DockingManager.Header="Tab2" syncfusion:DockingManager.DocumentTabOrderIndex="2"> </ContentControl> <ContentControl syncfusion:DockingManager.State="Document" syncfusion:DockingManager.Header="Tab3" syncfusion:DockingManager.DocumentTabOrderIndex="3"> </ContentControl> <ContentControl syncfusion:DockingManager.State="Document" syncfusion:DockingManager.Header="Tab4" syncfusion:DockingManager.DocumentTabOrderIndex="4"> </ContentControl> <ContentControl syncfusion:DockingManager.State="Document" syncfusion:DockingManager.Header="Tab5" syncfusion:DockingManager.DocumentTabOrderIndex="5"> </ContentControl> </syncfusion:DockingManager> </Grid> </Window>
C#
//How to Add new tab at specific index position for dockingmanager namespace DocumentTabOrder { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void AddItem(object sender, RoutedEventArgs e) { Grid grid1 = new Grid(); DockingManager.SetDocumentTabOrderIndex(grid1, dockingManager.Children.Count); DockingManager.SetHeader(grid1, "Tab " + (dockingManager.Children.Count + 1)); DockingManager.SetState(grid1, DockState.Document); dockingManager.Children.Add(grid1); } } }