Why doesn't RadPaneGroup.TabStripPlacement affect the placement of the tab strip?

6 posts, 0 answers
  1. Robert Rossney
    Robert Rossney avatar
    4 posts
    Member since:
    Jan 2010

    Posted 07 Jun 2010 Link to this post

    No matter which value I use for TabStripPlacement, it's drawn at the top.  Why?

    Sample:

    <Window 
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:telerikDocking="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Docking" 
        xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" 
        x:Class="Testing" 
        x:Name="Window" 
        Title="Workspace" 
        Width="640" Height="480"
     
        <DockPanel x:Name="LayoutRoot"
            <telerikDocking:RadDocking> 
                <telerikDocking:RadDocking.DocumentHost> 
                    <telerikDocking:RadSplitContainer> 
                        <telerikDocking:RadPaneGroup TabOrientation="Horizontal" TabStripPlacement="Bottom">                     
                            <telerikDocking:RadPane x:Name="Case000001Pane" Header="CR000001" CanFloat="False" CanUserPin="True"
                                <TextBlock FontSize="18.667" Text="Case 000001" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
                            </telerikDocking:RadPane> 
                            <telerikDocking:RadPane x:Name="Case000002Pane" Header="CR000002" CanFloat="False" CanUserPin="True"
                                <TextBlock FontSize="18.667" Text="Case 000002" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
                            </telerikDocking:RadPane> 
                            <telerikDocking:RadPane x:Name="Case000003Pane" Header="CR000003" CanFloat="False" CanUserPin="True"
                                <TextBlock FontSize="18.667" Text="Case 000003" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
                            </telerikDocking:RadPane> 
                            <telerikDocking:RadPane x:Name="Case000004Pane" Header="CR000004" CanFloat="False" CanUserPin="True"
                                <TextBlock FontSize="18.667" Text="Case 000004" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
                            </telerikDocking:RadPane> 
                        </telerikDocking:RadPaneGroup> 
                    </telerikDocking:RadSplitContainer> 
                </telerikDocking:RadDocking.DocumentHost> 
            </telerikDocking:RadDocking> 
        </DockPanel> 
    </Window> 

  2. Miroslav Nedyalkov
    Admin
    Miroslav Nedyalkov avatar
    1718 posts

    Posted 09 Jun 2010 Link to this post

    Hello Robert,

     The TabStripPlacement property is inherited from the RadTabControl (which the RadPaneGroup inherits) and is not used by the PaneGroup (it actually doesn't have templates for the placements different than Bottom). If you need to have different placements you need to create ControlTemplates for them and to set them to the Left, Top and RightTemplate properties of the group.

    Hope this helps!

    All the best,
    Miroslav Nedyalkov
    the Telerik team

    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
  3. UI for WPF is Visual Studio 2017 Ready
  4. Robert Rossney
    Robert Rossney avatar
    4 posts
    Member since:
    Jan 2010

    Posted 09 Jun 2010 Link to this post

    Not that I'm ungrateful, but this is the second time this week that I've spent a good lot of time trying to figure out how to use features of the docking controls that are present in the object model but which they don't actually support.  I'm sure there's a good reason to make RadPaneGroup derive from RadTabControl, but honestly, if a derived class doesn't implement functionality that's present in its base class, document it.

    RadPaneGroup's derivation from ItemsControl presents a similar issue.  It may be an ItemsControl (since RadTabControl is), but you can't populate it via data binding the way you can every other ItemsControl.  It's a reasonable restriction, once you search around until you find the blog post that explains why it's there.

    But it means that you can't build a UI with these docking controls without breaking the MVVM pattern.  This is a significant restriction on how this control can be used.  Not that the MVVM pattern is sacrosanct and ought never be sullied, but it's what developers are using, and if a control can't be used with MVVM for some reason, this reason ought to be documented, and prominently - like, not just in the class documentation, but in the Getting Started section.  If I'm going to have to break out procedural code to create a view using a control, that's something I need to know up front.
  5. Miroslav Nedyalkov
    Admin
    Miroslav Nedyalkov avatar
    1718 posts

    Posted 10 Jun 2010 Link to this post

    Hello Robert,

     Thank you for your feedback! We will definitely add this in our documentation.

    As for the MVVM and the Docking control - I created a work-around for this limitation and I'm attaching the project to this post. Please notice that it doesn't cover perfectly all cases and this is the reason why we didn't implement it in the Docking control.

    Greetings,
    Miroslav Nedyalkov
    the Telerik team

    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
  6. Michael
    Michael avatar
    23 posts
    Member since:
    Mar 2014

    Posted 02 Apr 2014 in reply to Miroslav Nedyalkov Link to this post

    Echoing similar sentiments as Mr. Rossney from 2010.

    It seems like in 2-3 years, this feature set, or gap thereof, should be resolvable. Any progress, Telerik?

    Thank ye...
  7. Kalin
    Admin
    Kalin avatar
    1207 posts

    Posted 04 Apr 2014 Link to this post

    Hello Michael,

    Since the Q3 2013 SP1 version of controls, RadDocking supports MVVM scenarios. You are able to bind a collection of objects to the PaneSource property of the Docking. For more details about the exact approach, please refer the following article from our online help documentation:
    http://www.telerik.com/help/wpf/raddocking-features-panes-panesource.html

    Hope this helps.

    Regards,
    Kalin
    Telerik
     

    Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

     
Back to Top
UI for WPF is Visual Studio 2017 Ready