1

我有一个用户控件,其中包含我希望设置动画的自定义样式按钮。

<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 中没有这样的“开始”重载,因此我的故事板引发了一个异常,即它找不到“弧”元素。还有其他解决方法吗?

4

1 回答 1

1

我建议当您点击按钮时,它会设置视觉状态。然后,您可以提供一个故事板作为按钮模板的一部分,arc当应用给定的视觉状态时,它会为元素设置动画。

于 2012-10-28T21:34:40.097 回答