Windows phone 7 故事板可以';不能执行两次
我尝试在我的应用程序中使用动画,我只使用两个页面来测试动画 当应用程序第一次启动时,我想用滑动效果设置应用程序标题的动画。标题应来自页面外部 我使用了以下代码:Windows phone 7 故事板可以';不能执行两次,windows-phone-7,windows-phone-8,Windows Phone 7,Windows Phone 8,我尝试在我的应用程序中使用动画,我只使用两个页面来测试动画 当应用程序第一次启动时,我想用滑动效果设置应用程序标题的动画。标题应来自页面外部 我使用了以下代码: <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:Name="ApplicationTitle"
<StackPanel x:Name="TitlePanel"
Grid.Row="0"
Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle"
Text="{Binding LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}"
Style="{StaticResource PhoneTextNormalStyle}" RenderTransformOrigin="0.5,0.5" >
<TextBlock.RenderTransform>
<CompositeTransform x:Name="ApplicationTitleTransIn" TranslateX="-200"/>
</TextBlock.RenderTransform>
<TextBlock.Triggers>
<EventTrigger RoutedEvent="TextBlock.Loaded">
<BeginStoryboard>
<Storyboard BeginTime="00:00:0.5">
<DoubleAnimation Duration="00:00:0.7"
Storyboard.TargetName="ApplicationTitleTransIn"
Storyboard.TargetProperty="TranslateX"
From="-200" To="0">
<DoubleAnimation.EasingFunction>
<BackEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
</StackPanel>
文本将移动到我页面的右侧,然后我将导航到第二页
直到现在一切都正常
但当我按下后退按钮(在电话上)时,我有一个例外
ExceptionObject = {System.InvalidOperationException: Cannot resolve TargetName ApplicationTitleTransIn.}
我错过什么了吗?这是实现此动画的正确方法吗
谢谢您的帮助。在您的情况下,我会以不同的方式构建XAML布局。首先,您似乎不需要
compositeransform
,而只需要translateransform
。在这种情况下,请将此代码段用于RenderTransform
:
<TextBlock.RenderTransform>
<TranslateTransform x:Name="ApplicationTitleTransIn" X="-200"/>
</TextBlock.RenderTransform>
这同样适用于使用关键帧的双动画:
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" Storyboard.TargetName="ApplicationTitle">
就像一个符咒。我应用了你的解决方案,它就像一个符咒:)现在,当我按下后退按钮时,应用程序标题的位置被正确设置为-200,然后才能显示我的页面。在我的解决方案中,位置是0,然后是-200,并设置为0(这是一种奇怪的行为)。
<TextBlock.RenderTransform>
<TranslateTransform x:Name="ApplicationTitleTransIn" X="-200"/>
</TextBlock.RenderTransform>
<DoubleAnimation Duration="00:00:0.7"
Storyboard.TargetName="ApplicationTitle"
Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"
From="-200" To="0">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" Storyboard.TargetName="ApplicationTitle">