Silverlight toolkit转换在重新激活应用程序时中途停止
我使用的是11月11日的silverlight工具包,我只是复制粘贴了一些基本的过渡,以增加我的应用程序的趣味性,而无需做很多工作。我指的是这个代码:Silverlight toolkit转换在重新激活应用程序时中途停止,silverlight,windows-phone-7,xaml,transitions,Silverlight,Windows Phone 7,Xaml,Transitions,我使用的是11月11日的silverlight工具包,我只是复制粘贴了一些基本的过渡,以增加我的应用程序的趣味性,而无需做很多工作。我指的是这个代码: <!--some really simple basic navigation animations to get us started--> <toolkit:TransitionService.NavigationInTransition> <toolkit:NavigationInTransition&
<!--some really simple basic navigation animations to get us started-->
<toolkit:TransitionService.NavigationInTransition>
<toolkit:NavigationInTransition>
<toolkit:NavigationInTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardIn"/>
</toolkit:NavigationInTransition.Backward>
<toolkit:NavigationInTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardIn"/>
</toolkit:NavigationInTransition.Forward>
</toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
<toolkit:TransitionService.NavigationOutTransition>
<toolkit:NavigationOutTransition>
<toolkit:NavigationOutTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardOut"/>
</toolkit:NavigationOutTransition.Backward>
<toolkit:NavigationOutTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardOut"/>
</toolkit:NavigationOutTransition.Forward>
</toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>
这非常有效,除了当我在应用程序被删除后重新激活它时。过渡似乎在中途停止。应用程序仍然响应良好,但看起来完全一团糟。像这样:
有人知道如何解决这个问题吗?我认为这可能与我的viewmodel有关,并且它在转换期间会被填充。。。如果是这样的话,当转换完成时,我是否可以订阅一个事件?然后,我可以在viewmodel中按下属性更改事件。但是,当我只是在应用程序中导航时,这种转换效果非常好,所以可能不是这样
任何想法都将不胜感激。请尝试以下代码:
您可以在App.xaml
中定义多个转换:
<Application.Resources>
<ResourceDictionary>
<Style x:Key="Transition" TargetType="phone:PhoneApplicationPage">
...
</Style>
<Style x:Key="Transition2" TargetType="phone:PhoneApplicationPage">
...
</Style>
<Style x:Key="Transition3" TargetType="phone:PhoneApplicationPage">
...
</Style>
</ResourceDictionary>
</Application.Resources>
请尝试以下代码:
您可以在App.xaml
中定义多个转换:
<Application.Resources>
<ResourceDictionary>
<Style x:Key="Transition" TargetType="phone:PhoneApplicationPage">
...
</Style>
<Style x:Key="Transition2" TargetType="phone:PhoneApplicationPage">
...
</Style>
<Style x:Key="Transition3" TargetType="phone:PhoneApplicationPage">
...
</Style>
</ResourceDictionary>
</Application.Resources>
我在多个应用程序中使用这段代码,还没有看到这样的问题…这种方法只允许一种类型的动画,对吗?我目前在不同的页面上有很多不同的过渡动画,因为有时候有不同的动画更有意义。。。但这仍然没有任何意义。我仍然希望在每个页面上有不同的转换(它们对我的应用程序的结构更有意义)显示一些c#代码背后的代码。我在多个应用程序中使用这些代码,但没有看到这样的问题…这种方法只允许一种类型的动画,对吗?我目前在不同的页面上有很多不同的过渡动画,因为有时候有不同的动画更有意义。。。但这仍然没有任何意义。我仍然希望在每个页面上有不同的转换(它们对我的应用程序的结构更有意义)向我展示一些c#代码背后的代码。我会很快给它一个镜头,让你知道我会很快给它一个镜头,让你知道
<phone:PhoneApplicationPage ... Style="{StaticResource Transition2}">
<phone:PhoneApplicationPage ... Style="{StaticResource Transition3}">
<phone:PhoneApplicationPage x:Name="MyPage">
<phone:PhoneApplicationPage.Resources>
<Style x:Key="LocalTransition">
...
</Style>
</phone:PhoneApplicationPage.Resources>
</phone:PhoneApplicationPage>
public class MyPage
{
public MyPage()
{
InitializeComponent();
Style = (Style)Resources["LocalTransition"];
}
}