Pane appearance takes time (performance issue)

2 posts, 0 answers
  1. Mar
    Mar avatar
    7 posts
    Member since:
    Mar 2015

    Posted 27 May 2015 Link to this post


    Some performance issue.
    The 'Content' property of my RadPane holds a quite complex visual tree (let's say it contains RadGridView), and I add it to the Panes ObservableCollection.
    I've implemented a custom DockingPanesFactory and only overrided the AddPane method. Not something special, it's almost like your example here:

    I've noticed that adding of pane to the visual tree by Panes.Add(pane) that invoke the AddPane of the DockingPanesFactory takes something like 400ms.
    Same for the Remove method. It's relevant also for DragStart when undocking this "heavy" pane, what happens is, the ToolWindow for this floating pane appears after a second or two, and the user holds the left mouse button down with no ToolWindow below the mouse cursor, and as I said only after 1-2 seconds the ToolWindow appears.

    My Content property holds a ViewModel that has a DataTemplate targeted to it by "TargetType" property of the DataTemplate. The DataTemplate consist of a View that has a RadGridView ....

    It's not reasonable that the whole pane appears only after its content added to the visual tree. I want to make the Pane to appear and let the content to load afterwards, Especially regarding the ToolWindow, because the user don't have any indication that the ToolWindow takes time to appear.

    BTW, I've disabled the animations... you know, by....
    <telerikDock:RadDocking telerik:AnimationManager.AnimationSelector="{x:Null}"

    Please, help me here to achieve my goal.

  2. Vladi
    Vladi avatar
    749 posts

    Posted 01 Jun 2015 Link to this post


    Thank you for contacting us.

    In the current version of the RadDocking control such advanced cache mechanism for floating docked RadPane instances is not available. By design when a docked pane is being undocked it is placed inside a newly created ToolWindow instance and its Content is immediately transferred. This is done in order to remove any delay that could make that content detached from the other UI which could cause bindings connected to that UI to get broken leading to binding expressions.

    You could use our feedback portal located here to add a new feature request for such advanced cache mechanism that would allow the Content of a docked RadPane to be moved to its floated ToolWindow only after it is fully rendered.

    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 Feedback Portal and vote to affect the priority of the items
Back to Top