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 にはそのような 'Begin' オーバーロードがないため、ストーリーボードで 'arc' 要素が見つからないという例外が発生します。他の回避策はありますか?

4

1 に答える 1

1

ボタンをタップすると、視覚的な状態が設定されることをお勧めします。arc次に、特定の視覚的状態が適用されたときに要素をアニメーション化するストーリーボードをボタンテンプレートの一部として提供できます。

于 2012-10-28T21:34:40.097 に答える