Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3786966
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 19, 20262026-05-19T11:45:58+00:00 2026-05-19T11:45:58+00:00

I tried using the Toolkit for page transitions but all the animations were stuttering.

  • 0

I tried using the Toolkit for page transitions but all the animations were stuttering. In another question, I was suggested not to use the toolkit, so I’ve implemented all the animations by myself and triggered them manually. For example navigating to another page:

void list_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    ListBox listBox = sender as ListBox;
    if (null == listBox) return;
    Data.Category item = listBox.SelectedItem as Data.Category;
    if (null == item) return;

    Uri uri = new Uri(App.MakeResourcePathTo(item.Page), UriKind.Relative);

    Storyboard storyboard = Application.Current.Resources["FlipForwardOut"] as Storyboard;
    Storyboard.SetTarget(storyboard, LayoutRoot);
    EventHandler completedHandler = delegate { };
    completedHandler = delegate
            {
                NavigationService.Navigate(uri);

                storyboard.Stop();
                storyboard.Completed -= completedHandler;
            };
    storyboard.Completed += completedHandler;
    storyboard.Begin();

    listBox.SelectedIndex = -1;
}

Is the code ok?
There shouln’t be anything else running parallel to that code, as I understand it. That’s exactly what I wanted because then nothing would interfere with my animation and make it slow.

Here is another code snippet. This shows how I handle the back-Animations.

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    e.Cancel = true;
    Storyboard storyboard = Application.Current.Resources["FlipBackwardOut"] as Storyboard;
    Storyboard.SetTarget(storyboard, LayoutRoot);
    EventHandler completedHandler = delegate { };
    completedHandler = delegate
    {
        storyboard.Stop();
        storyboard.Completed -= completedHandler;

        NavigationService.GoBack();
    };
    storyboard.Completed += completedHandler;
    storyboard.Begin();
}

Is there anything wrong with that code, which could cause the performance problems?

The animations are very simple, only linear animations:

<Storyboard x:Key="FlipForwardOut">
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)">
        <LinearDoubleKeyFrame KeyTime="0" Value="0"/>
        <LinearDoubleKeyFrame KeyTime="0:0:0.4" Value="70"/>
    </DoubleAnimationUsingKeyFrames>
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)">
        <LinearDoubleKeyFrame KeyTime="0" Value="1"/>
        <LinearDoubleKeyFrame KeyTime="0:0:0.4" Value="0.1"/>
    </DoubleAnimationUsingKeyFrames>
</Storyboard>

One thing I’ve recognized: When I’m navigating to a panorama page, the panorama page’s animations are running parallel to my page-transition animations. The parorama page’s baked-in animations let the title slide in, and also the panorama items slide into place. So, there are some translation-animations running parallel to my page transitions (which are basically rotation and opacity).
Can I somehow prevent the panorama from playing it’s own animations, or delay them until my page transition animation has completed, respectively?

There is another problem with my page transitions: When I navigate to another page and play the animation, when the animation has completed (LayoutRoot has been rotated to Y=70, and it’s opacity=0) then the original layout is displayed for a few miliseconds (with LayoutRoot rotation Y=0 and opacity=1), and then it is navigating to the next page and the animation on the next page starts.
Why is this?

I hope, someone can help me.
I’m quite frustrated after having spent so many hours on this. Regardless of what I tried, the animations showed bad performance, they are stuttering in the Emulator and on the Device.
The animations of the preinstalled apps on the phone have smooth animations. I don’t understand this. 🙁

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-19T11:45:59+00:00Added an answer on May 19, 2026 at 11:45 am

    Your animation code looks to be OK, though there are probably a number of scenarios that you’re not handling, so you might want to take a look at Kevin Marshall’s Page Transitions Sample (which I’ve found to perform better than the Toolkit transitions).
    However, on the assumption that your animation code is fine and that you experienced similar stuttering with the toolkit transitions, are you doing anything in the constructor of your pages? It’s common for view models or data to be loaded and/or processed in the constructor, which will cause a delay in the animations because this is being done on the UI thread. You should leave as much initialisation as possible until the OnNavigatedTo override of your page.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I tried using the following code for a HTML page, but it doesn't work.
I am tried to get this data using template toolkit but I am unable
I have two different-sized monitors, connected together using (I believe) TwinView. I tried System.out.println(Toolkit.getDefaultToolkit().getScreenSize());
I tried using arrays but I don't need every single element, and so it
I tried using date/time, time, but it doesn't help. Exception Details: System.Web.HttpException: DataBinding: 'DatePickerControl.DatePicker'
I tried using make defconfig to compile the kernel, but as expected, it failed
I tried using both ReadProcessMemory() and WriteProcessMemory() in my application,but in both cases I
Hopefully this is an easy question. I'm using the ListBoxDragDropTarget from the Silverlight Toolkit
I tried using curl syntax: curl http:// localhost:8983/solr/update/csv?stream.file=/usr/local/src/apache-solr-3.6.0/example/exampledocs/my+file.csv&separator=;&stream.contentType=text/plain;charset=utf-8 with no luck. I get: -bash:
I tried using juggernaut cocoa: https://github.com/fpotter/juggernaut-cocoa Added this line to my code: JuggernautClient *client

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.