One possible way to achieve this is to create a custom control that inherits from (for example) a content control or an items control, but which implements logic for animating the view switching inside it. That control would act as the region in which you
would navigate. Therefore, the animation logic would be decoupled from the navigation logic.

As an example of this, in the
Stock Trader Reference Implementation QuickStart, you can find the AnimatedTabControl class (which inherits from the
TabControl class), which shows you an implementation for the transition between the tabs of the
control. You could use this code as a guide to the approach of the animations your application requires.