AutoSize Behavior Question

5 posts, 1 answers
  1. J. E.
    J. E. avatar
    15 posts
    Member since:
    May 2011

    Posted 08 Feb 2012 Link to this post

    Hi all,

    I have a RadWindow control that has its NavigateURL set to an aspx page in my application. The window is displayed as a result of the user selecting an item from the RadToolBar. I have the window loading correctly, but it seems like the first time the window loads, it uses some predefined dimensions and then snaps to the size of the content. This looks really ugly. If I close the window and open it again, it loads fine until the parent page is reloaded and then it starts all over again.

    Is there any way to get the content to load before the window is shown so that it has time to figure out the required dimensions? I have tried calling the autoSize method from the ClientOnPageLoad, but that didn't work.

    Any recommendations?

    Thanks,
    Jen
  2. Answer
    Marin Bratanov
    Admin
    Marin Bratanov avatar
    5810 posts

    Posted 10 Feb 2012 Link to this post

    Hi Jen,

    This is the way autosizing should behave to allow better performance and faster reaction. Also, before the entire page is loaded in the RadWindow there is no way autosizing can be invoked properly as the page does not have its final dimensions. The initial size you refer to is either the Width and Height properties set in the markup, or the default 300 by 300 pixels the RadWindow has.

    What you can do to work around this behavior: when you initially open the RadWindow you can use only the setUrl() method to make it load the page you want. Then in the OnClientPageLoad event that is fired when this content page loads you can show it, as autosizing has taken effect. Note, however, that this will request the content page each time the RadWindow is reopened, while its default behavior is to cache the page when it is closed. It will also delay its showing, especially in a real scenario where network delay is an actual issue.

    I am attaching a simple example of this behavior and you can see how it works with me here: http://screencast.com/t/PPKEzKv5N1P. I hope this fits your needs.


    Regards,
    Marin
    the Telerik team
    Sharpen your .NET Ninja skills! Attend Q1 webinar week and get a chance to win a license! Book your seat now >>
  3. J. E.
    J. E. avatar
    15 posts
    Member since:
    May 2011

    Posted 10 Feb 2012 Link to this post

    Hi Marin,

    Thank you for the response and the sample code. It worked perfectly.

    Thanks,
    Jen
  4. J. E.
    J. E. avatar
    15 posts
    Member since:
    May 2011

    Posted 10 Feb 2012 Link to this post

    Hi Marin,

    I had a quick followup question. If I change the animation to something like FlyIn, I see the behavior again of the window coming up with the default size and then snapping to the content size.

    For my code, I think I can get away without the animation, but I am curious about why this is happening?

    Thanks,
    Jen
  5. Marin Bratanov
    Admin
    Marin Bratanov avatar
    5810 posts

    Posted 13 Feb 2012 Link to this post

    Hi Jen,

     Animations are a very tricky aspect of showing a popup and when they are involved some size calculations and display changes must happen in a different order. This is so because animation is ultimately changing dimensions and visibility. My workaround would work well when the standard behavior is executed, but it cannot be modified to work with animations, because at the point we need to animate we still cannot have the final dimensions. Generally the AutoSize functionality is designed to "snap" visibly, which was the initial behavior we wanted to avoid, so when we override some of the defauilt behavior we could not expect that everything can work like before.


    Kind regards,
    Marin
    the Telerik team
    Sharpen your .NET Ninja skills! Attend Q1 webinar week and get a chance to win a license! Book your seat now >>
Back to Top