Tab Stop RadDocking

8 posts, 0 answers
  1. Vikas
    Vikas avatar
    64 posts
    Member since:
    May 2014

    Posted 13 Oct 2014 Link to this post

    I am using RadDocking and trying to implement keyboard tab order, I have a Document host and RadPaneGroup that is inside a RadSplitContainer.
    I am printing out the control which gets the keyboard focus when i tab around, below is the list of controls that get focus, I am able to figure out RadPaneGroup, Header and i have set IsTabStop = false for them and they stopped showing up but I am not sure how to skip this:
    Telerik.Windows.Controls.Docking.AutoHideArea


    Logical focus: Telerik.Windows.Controls.RadDocking Items.Count:1
    Keyboard focus: Telerik.Windows.Controls.RadDocking Items.Count:1
    Logical focus: Telerik.Windows.Controls.Docking.AutoHideArea Items.Count:0
    Keyboard focus: Telerik.Windows.Controls.Docking.AutoHideArea Items.Count:0
    Logical focus: Telerik.Windows.Controls.Docking.AutoHideArea Items.Count:0
    Keyboard focus: Telerik.Windows.Controls.Docking.AutoHideArea Items.Count:0
    Logical focus: Telerik.Windows.Controls.Docking.AutoHideArea Items.Count:0
    Keyboard focus: Telerik.Windows.Controls.Docking.AutoHideArea Items.Count:0
    Logical focus: Telerik.Windows.Controls.Docking.AutoHideArea Items.Count:0
    Keyboard focus: Telerik.Windows.Controls.Docking.AutoHideArea Items.Count:0
    Logical focus: Telerik.Windows.Controls.RadPaneGroup Items.Count:1
    Keyboard focus: Telerik.Windows.Controls.RadPaneGroup Items.Count:1
    Logical focus: System.Windows.Controls.ContentControl
    Keyboard focus: System.Windows.Controls.ContentControl
    Logical focus: Telerik.Windows.Controls.Docking.PaneHeader
    Keyboard focus: Telerik.Windows.Controls.Docking.PaneHeader

    When i tab around the window I get 4 
  2. Vladi
    Admin
    Vladi avatar
    744 posts

    Posted 15 Oct 2014 Link to this post

    Hi Vikas,

    Thank you for contacting us.

    By design the RadDocking does not force a specific TabNavigation to its contents. Setting that behavior is determined by the TabNavigation of each RadPane's content. From what we understand you are tried to contain the tab navigation in a specific RadPane's content and to not allow RadDocking elements (PaneGroup, AutohideAreas etc.) to get the focus. In this scenario the best and easiest approach is to simply set the TabNavigation of each RadPane's content to Cycle or any other desired value. This way the tab navigation will circle through each content separately. The next code snippet shows the described approach:
    <telerik:RadDocking>
        <telerik:RadDocking.DocumentHost>
            <telerik:RadSplitContainer>
                <telerik:RadPaneGroup>
                    <telerik:RadDocumentPane Header="DocumentPane 1" >
                        <StackPanel KeyboardNavigation.TabNavigation="Cycle">
                            ...
                        </StackPanel>
                    </telerik:RadDocumentPane>
                </telerik:RadPaneGroup>
            </telerik:RadSplitContainer>
        </telerik:RadDocking.DocumentHost>
    </telerik:RadDocking>


    If implementation of custom tab navigation is desired where some parts of the RadDocking should get the focus and some shouldn't you will need to customize the theme of the control by copying its Style and Templates and set the IsTabStop property to the desired element.

    Hope this is helpful.

    Regards,
    Vladi
    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.

     
  3. UI for WPF is Visual Studio 2017 Ready
  4. Vikas
    Vikas avatar
    64 posts
    Member since:
    May 2014

    Posted 15 Oct 2014 in reply to Vladi Link to this post

    It does no work, I don't think the problem is after the RadPane gets the focus.

    I get a focus on 
    Keyboard focus: Telerik.Windows.Controls.RadDocking Items.Count:1

    and then 4 times the focus goes to AutoHideArea and then it goes to the RadPaneGroup.

    and the same thing happens after i get out of the RadDocking, the auto hide area gets focus 4 times

  5. Vikas
    Vikas avatar
    64 posts
    Member since:
    May 2014

    Posted 15 Oct 2014 in reply to Vikas Link to this post

    I get IsTabStop true for the AutoHide Area
    ((Telerik.Windows.Controls.Docking.AutoHideArea)Keyboard.FocusedElement).IsTabStop;
    true
  6. Vikas
    Vikas avatar
    64 posts
    Member since:
    May 2014

    Posted 15 Oct 2014 in reply to Vikas Link to this post

    Attached image from Snoop showing the visual structure of RadDocking, there are 4 AutoHide Areas
  7. Vladi
    Admin
    Vladi avatar
    744 posts

    Posted 16 Oct 2014 Link to this post

    Hello Vikas,

    As previously mentioned if a custom implementation is required you will need to handle which elements can be and cannot be focused manually. Doing this as described will required customizations of the Template of the RadDocking control. You can take a look at this article in our online help for directions on the best approach when customizing a control's Template.

    We are always doing our best to improve our products and we will discuss the possibility of handling the described focusing scenario as a built-in feature in one of our future releases of RadDocking.

    Regards,
    Vladi
    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.

     
  8. Vikas
    Vikas avatar
    64 posts
    Member since:
    May 2014

    Posted 17 Oct 2014 in reply to Vladi Link to this post

    I was able to solve it by getting all the child elements using visual tree helper and setting IsTabStop to false for elements of type AutoHideArea.

    I think if you can provide an easy way a DP or something else it will be helpful.

    vikas
  9. Vladi
    Admin
    Vladi avatar
    744 posts

    Posted 21 Oct 2014 Link to this post

    Hi Vikas,

    We will take in consideration the described workaround when implementing the described improvement into the RadDocking control.

    Regards,
    Vladi
    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