我有一个用户控件,其中包含我希望设置动画的自定义样式按钮。
<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 中没有这样的“开始”重载,因此我的故事板引发了一个异常,即它找不到“弧”元素。还有其他解决方法吗?