我有一个usercontrol,其中包含我希望设置动画的自定义样式按钮。
<UserControl>
<!-- omitted namespaces etc -->
<UserControl.Resources>
<Style x:Key="myButtonStyle">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<Ellipse x:Name="ellipse" Fill="Orange" />
<es:Arc x:Name="arc" EndAngle="360" Fill="Red" StartAngle="360"/>
</Grid>
</ControlTemplate TargetType="Button">
</Setter.Value>
</Setter>
</Style>
</UserControl.Resouces>
<Grid x:Name="LayoutRoot" />
<Button Tap="Fire_Animation" x:Name="myButton" Style="{StaticResource myButtonStyle}" />
</Grid>
</UserControl>
点击按钮后,Fire_Animation方法会启动一个故事板,该故事板应该修改按钮模板中的“Arc”元素。
我见过这样的WPF示例:
// .. previous necessary method calls
StoryBoard.SetTargetName(_myAnimation, "arc");
_storyboard.Begin(myButton, myButton.Template);
但Windows Phone中没有这样的“开始”重载,因此我的故事板引发了一个例外,即无法找到'arc'元素。还有其他解决方法吗?
答案 0 :(得分:1)
我建议当你点击按钮时,它会设置一个视觉状态。然后,您可以提供故事板作为按钮模板的一部分,在应用给定视觉状态时动画arc
元素。