I thought this would be easy but I guess not.
I have 2 pages that load in my frame control. I want to be able to either have a nice slide effect from one page to the next or just a simple fade-In effect.
Can't seem to find this anywhere on the internets.
Update 1 The accepted answer is good, but I found an even better one here. http://www.japf.fr/2008/07/8/comment-page-1/
Update 2
If you can believe it I found an even better solution.
http://fluidkit.codeplex.com/
This probably isn't the best answer, but it maybe helpful to you or at least give you some ideas. In Silverlight I have achieved that type of sliding transition effect between pages by using the TransitioningContentControl from the Silverlight Toolkit. It is a content control which basically lets you define a custom storyboard in a visual state for a transition between the old and new content whenever the content changes. It also includes some default (fade/up/down) transitions if you don't want to take the time to define a custom storyboard.
I realize that you are working with WPF and that the TransitioningContentControl is not available in WPF or in the WPF Toolkit. However, it may not be too difficult to port this control over to WPF or at least make one that does something similar. Glancing over the source it looks like it may be doable if you have the time and it is the type of control you may reuse in other places.
The source code is here for the Silverlight version and Jesse Liberty has a nice tutorial which walks through using the control in Silverlight.
There is a similar problem discussed here: Transition Fade Animation When Navigating To Page Using the technique described there you can slide\move your frame control each time a new page is navigated. Smth like this:
xaml:
code:
hope this helps, regards
My answer is the improved version of the answer given by serge_gebunko.
It gives you the Sliding left and right effect.
XAML
C#
i searched for a mvvm friendly answer and i didn't find any so i made my own using an attached property:
Usage :
Am fairly new to mvvm so if there is any thing that can improve this answer please post it below