Windows phone 7 MVVMWP7-页面导航和转换动画
我是WP7中MVVM模型的初学者。我很难实现页面之间的导航和动画转换 我想要达到的目标:Windows phone 7 MVVMWP7-页面导航和转换动画,windows-phone-7,mvvm,mvvm-light,transition,Windows Phone 7,Mvvm,Mvvm Light,Transition,我是WP7中MVVM模型的初学者。我很难实现页面之间的导航和动画转换 我想要达到的目标: 当第1页导航到第2页时,将启动过渡动画动画1,但当第1页导航到第3页时,将启动不同的过渡动画动画2 ViewModel可以取消GoBack导航,例如,当搜索模式打开时(文本框可见,用户按back键后,文本框将隐藏,ViewModel将切换到搜索模式关闭,并阻止页面向后导航) 我创造了这样的东西: <Navigation> <NavigationInTransition>
<Navigation>
<NavigationInTransition>
<NavigationInTransition.ForwardTransitions>
<ForwardTransition NavigateTo="page2.xaml">
<ForwardTransition.Animation>
<SlideTransitionAnimation Mode="ForwardIn"/>
</ForwardTransition.Animation>
</ForwardTransition>
<ForwardTransition NavigateTo="page3.xaml">
<ForwardTransition.Animation>
<TurnstyleTransitionAnimation Mode="ForwardIn"/>
</ForwardTransition.Animation>
</ForwardTransition>
</NavigationInTransition.ForwardTransitions>
</NavigationInTransition>
<BackKeyPressed IsPrevent="{Binding SomethingBool}" Command="{Binding BackKeyPressed}"/>
</Navigation>
ExtendedPhoneApplicationPage:PhoneApplicationPage-特殊控件,继承自PhoneApplicationPage,通过接口调用对ViewModel的请求
MainViewModel:INavigation-MainViewModel,它是ViewModel,并实现接口INavigation
它是如何工作的
<Navigation>
<NavigationInTransition>
<NavigationInTransition.ForwardTransitions>
<ForwardTransition NavigateTo="page2.xaml">
<ForwardTransition.Animation>
<SlideTransitionAnimation Mode="ForwardIn"/>
</ForwardTransition.Animation>
</ForwardTransition>
<ForwardTransition NavigateTo="page3.xaml">
<ForwardTransition.Animation>
<TurnstyleTransitionAnimation Mode="ForwardIn"/>
</ForwardTransition.Animation>
</ForwardTransition>
</NavigationInTransition.ForwardTransitions>
</NavigationInTransition>
<BackKeyPressed IsPrevent="{Binding SomethingBool}" Command="{Binding BackKeyPressed}"/>
</Navigation>
在App.xaml中创建资源
<Style x:Key="PageStyle" TargetType="phone:PhoneApplicationPage">
<Setter Property="toolkit:TransitionService.NavigationInTransition">
<Setter.Value>
<toolkit:NavigationInTransition>
<toolkit:NavigationInTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardIn" />
</toolkit:NavigationInTransition.Backward>
<toolkit:NavigationInTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardIn" />
</toolkit:NavigationInTransition.Forward>
</toolkit:NavigationInTransition>
</Setter.Value>
</Setter>
<Setter Property="toolkit:TransitionService.NavigationOutTransition">
<Setter.Value>
<toolkit:NavigationOutTransition>
<toolkit:NavigationOutTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardOut" />
</toolkit:NavigationOutTransition.Backward>
<toolkit:NavigationOutTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardOut" />
</toolkit:NavigationOutTransition.Forward>
</toolkit:NavigationOutTransition>
</Setter.Value>
</Setter>
</Style>
对于带有转换的页面
Style=“{StaticResource PageStyle}”