I'm currently using the Navigation Frame control in my WinForms application, quite usefull. Unfortunately, the transition speed while changing pages is terrible slow and there doesn't seem to be a property to change it. Am I right? Is there any way to increase the transition speed?
Thanks in advance!
Hi Frederic,
At present this capability is not supported. We will consider implementing it in our future releases. I will update this ticket once we have any progress.
Thanks Alisher. Unfortunately, the current speed is not accepted by the stakeholders. Since I can't switch off animation or increase the speed, I am forced to find another solution. Please compare your current Navigation Frame speed to that of Microsoft, for example Outlook 2013. Thanks for keeping me updated, I will later reconsidder.
Sadly I too am faced with the same problem. The transition speed is too slow for the target audience.
Mike and Frederik,
I understand how this functionality is required. We will consider implementing it in our future releases.
As a workaround, I suggest that you create a NavigationFrame class descendant, disable default transition animation by setting the AllowTransitionAnimation property to False and implement a custom animation with all required parameters. Override the NavigationFrame class descendant's OnSelectedPageChanging and OnSelectedPageChanged methods, create animation via TransitionManager in the OnSelectedPageChanging method and start the animation in the OnSelectedPageChanged method:
public class CustomNavigationFrame : NavigationFrame { protected override void OnSelectedPageChanging(INavigationPage oldPage, INavigationPage newPage) { base.OnSelectedPageChanging(oldPage, newPage); //create animation via TransitionManager } protected override void OnSelectedPageChanged(INavigationPage oldPage, INavigationPage newPage) { base.OnSelectedPageChanged(oldPage, newPage); //start animation } }
Public Class CustomNavigationFrame Inherits NavigationFrame Protected Overrides Sub OnSelectedPageChanging(oldPage As INavigationPage, newPage As INavigationPage) MyBase.OnSelectedPageChanging(oldPage, newPage) 'create animation via TransitionManager End Sub Protected Overrides Sub OnSelectedPageChanged(oldPage As INavigationPage, newPage As INavigationPage) MyBase.OnSelectedPageChanged(oldPage, newPage) 'start animation End Sub End Class
To learn how to create animation via the TransitionManager components, take a look at the TransitionManager Class documentation article.
Let me know if you have additional questions.
Thanks guys, works fine!
You are welcome, Frederik!