我需要将我创建的Storyboard动画分配给16张图片 我正在使用 VS2012 Blend for Windows Phone
动画是关于淡出,所以我为1张照片做了检查它是否有效,并且它有效,现在我需要为每张照片设置ControlPropetyAction
动画
所以我选择了所有图片并在Blend中录制了动画,但是当我播放它时 它使全部图片淡出!但我只需要每张照片在 Tapped 时淡出!
我怎么能这样做? (无需执行 16 动画类型)
XAML中的动画代码:
<Image x:Name="pic1" Margin="12,33,372,562" Grid.Row="1" Source="/Assets/1395704999_red-21.png" Stretch="Fill">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Tap">
<eim:ControlStoryboardAction Storyboard="{StaticResource fadeOutAnimation}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Image>
答案 0 :(得分:1)
基于your previous question,这是您正在使用的XAML示例
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="ImageName"
Storyboard.TargetProperty="Opacity"
From="1.0" To="0.0" Duration="0:0:1"/>
</Storyboard>
这可以很容易地翻译成代码。
var story = new Storyboard();
var animation = new DoubleAnimation { Duration = TimeSpan.FromSeconds(1), To = 0, From = 1};
Storyboard.SetTargetProperty(animation, new PropertyPath("Opacity"));
Storyboard.SetTarget(animation, YOUR_UI_ELEMENT_HERE);
story.Children.Add(animation);
story.Begin();
如果您订阅了元素的Tap事件,那么sender
就是您的UIElement
private void GridOnTap(object sender, GestureEventArgs gestureEventArgs)
{
UIElement element = (UIElement)sender;
// Call code above, replace YOUR_UI_ELEMENT_HERE
}