This is a migrated thread and some comments may be shown as answers.

Pane header not visible when PaneGroup's TabStripPlacement property set to Top

3 Answers 113 Views
Docking
This is a migrated thread and some comments may be shown as answers.
Pascal GUERY
Top achievements
Rank 1
Pascal GUERY asked on 22 Jan 2014, 09:50 AM
Hi everyone,

I have developed a sample projet using RadControls for WPF Q3 2013 Trial Version.
The main window contains :
- A "Create Pane" button
- A user control which encapsulates a Docking control. The Docking's HasDocumentHost property is set to false

The StyleManager.ApplicationTheme property is set to an instance of SummerTheme.

Here is the user control's code-behind :

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Telerik.Windows.Controls;
 
namespace NoDocumentHost
{
    /// <summary>
    /// Interaction logic for DockingUC.xaml
    /// </summary>
    public partial class DockingUC : UserControl
    {
        public DockingUC()
        {
            InitializeComponent();
        }
 
        public void CreatePane()
        {
            RadSplitContainer l_splitContainer = new RadSplitContainer();
            RadPaneGroup l_paneGroup = new RadPaneGroup();
 
            l_splitContainer.Items.Add(l_paneGroup);
            m_docking.Items.Add(l_splitContainer);
 
            RadPane l_pane = new RadPane()
            {
                CanUserPin = true,
                Title = "Title",
                Header = "Header",
                CanUserClose = true,
                ContextMenuTemplate = null
            };
 
            UserControl1 l_userControl = new UserControl1();
            l_pane.Content = l_userControl;
 
            l_paneGroup.Items.Add(l_pane);
            l_pane.MakeFloatingDockable();
        }
 
        private void DockingPaneStateChange(object p_sender, Telerik.Windows.RadRoutedEventArgs p_args)
        {
            Dispatcher.BeginInvoke(new Action(() =>
            {
                RadPane l_pane = (RadPane)p_args.OriginalSource;
                RadPaneGroup l_paneGroup = l_pane.PaneGroup;
                l_paneGroup.TabStripPlacement = Dock.Top;
            }));
        }
    }
}

A floating Pane is created when the user clicks the "Create button".
Each PaneGroup's TabStripPlacement property is set to Top.
The Pane header is not visible when a Pane is docked as shown on the attached picture 1.png.

I have commented the DockingPaneStateChange's body for a testing purpose.
Each PaneGroup's TabStripPlacement property was not set to Top.
The Pane header is visible when a Pane is docked as shown on the attached picture 2.png.

I have looked for information on how to make the Pane header visible when the PaneGroup's TabStripPlacement property is set to Top.
I have read the following forum thread : Forum Thread

I do not understand why the Pane header is not visible when the PaneGroup's TabStripPlacement property is set to Top.
Does the PaneGroup's TabStripPlacement property setter change the PaneGroup's TopTemplate property ?
Do I have to follow the procedure described on the forum thread ?

Thank you in advance for your answer

3 Answers, 1 is accepted

Sort by
0
Vladi
Telerik team
answered on 27 Jan 2014, 08:48 AM
Hello,

We are not aware of such issue in the current version of RadDocking. The TabStripPlacement property is supported for both bottom and top values, the left and right values are provided in order for custom implementation to be available.We hope to have them implemented as a built-in feature in our of our future releases of RadDocking.

I tested the described approach for setting the TabStripPlacement and wasn't able to reproduce the issue. When setting it both in the xaml or in the PaneStateChange event of the control no unexpected behavior was observed. I recorded a short video of how the scenario runs on our side and attached it to my response. Also you can find attached the sample project in which we tested it. If we have missed something please let us know.

Regards,
Vladi
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for WPF.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
0
Pascal GUERY
Top achievements
Rank 1
answered on 27 Jan 2014, 01:02 PM
Hi,

Thank you for your rich answer.
I have watched your video.
You have actually reproduced my issue because docked panes do not have a pin button.
I guess pin buttons are not visible because pane headers are hidden by tab strips.

What do I need to do to make pane headers visible ?
Thank you in advance for your help







0
Accepted
Vladi
Telerik team
answered on 30 Jan 2014, 09:23 AM
Hi,

Thank you for providing us with additional details about the issue.

In the current version of RadDocking the described behavior is expected as the Top TabStripPlacement replaces the default Header/Title in which the unpinn button is presented. Having an unpinn button when the TabStripPlacement is set to Top is currently not supported. It is possible that you could customize the TopTemplate of the RadPaneStyle and add the HeaderUnPinButton from the PaneHeaderTemplate.

As this scenario is not currently supported it is possible that there may be issues when implementing it. Hope this is helpful.

Regards,
Vladi
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for WPF.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
Tags
Docking
Asked by
Pascal GUERY
Top achievements
Rank 1
Answers by
Vladi
Telerik team
Pascal GUERY
Top achievements
Rank 1
Share this question
or