We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.

DockingManager and tabs

Thread ID:

Created:

Updated:

Platform:

Replies:

109405 Jun 11,2013 11:05 AM Jun 18,2013 08:12 AM WPF 1
loading
Tags: Tools
nisbus
Asked On June 11, 2013 11:05 AM

Hi, 

I'm trying to use the DockingManager to replace an existing docking framework.
What I need is the following:
The main window contains a TabControl for different workspaces.
The user selects a control and it gets added to the dockmanager (the active tab) and takes up all available space.
The user selects another control and it gets tabbed with the first control.
After that the user can tear off controls from their tabbed positions and place them anywhere in the dock.

What I have so far is this:
MainWindow xaml:
    <syncfusion:TabControlExt x:Name="tabs"
                              HorizontalAlignment="Stretch"
                              VerticalAlignment="Stretch"
                              TabStripPlacement="Bottom"
                              TabIndex="1"
                              IsNewButtonEnabled="True"
                              NewButtonClick="tabs_NewButtonClick"
                              PreviewMouseDown="tabs_PreviewMouseDown">
        <syncfusion:DockingManager x:Name="dock" UseDocumentContainer="True" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" ContainerMode="TDI" TabGroupEnabled="True"/>
    </syncfusion:TabControlExt>

//Code for adding a new control to the window
public void AddControl(string header, FrameworkElement control)
{
    var activeTab = GetActiveTabFromTabControl();
    var dock = activeTab.dock;
    DockingManager.SetHeader(control, header);
    manager.Children.Add(control);
}

What this does is add a new control to the active tab but it's always docked to the left and sized to the content of the containing control.
Also if I keep adding controls to it they stack up to the right and even go out of the screen without a scrollbar appearing.
I've tried multiple versions of setting the DockState and DockSide on the control but none of that seems to make any difference.
What am I missing?


Berkunath A [Syncfusion]
Replied On June 18, 2013 08:12 AM

Hi Nisbus,

Thank you for your interests in Syncfusion products.

You can achieve your requirement by using the below code snippet,

[c#]

            ContentControl element = new ContentControl();
            string header="Dock"+Docking.Children.Count.ToString();
            DockingManager.SetHeader(element, header);
            DockingManager.SetState(element, DockState.Dock);
            DockingManager.SetSide(element, DockSide.Left, DockState.Dock);
            Docking.Children.Add(element);
   
We have attached the sample as per your requirements in the following link. Please run the sample and let us know if it helps you. If we have misunderstood your requirement please update us with more information.

[sample link]

http://www.syncfusion.com/downloads/Support/DirectTrac/109116/DockingSample2066444392.zip

Please let us know if you have any concerns.

Regards,
Berkunath A



DockingSample_b35fedb1.zip

CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.

;