オーバーフロー!
WP の変数 Animation をプログラムしたいと思います。
次のように、Expression Blend でアニメーションを作成しました。
<Storyboard x:Name="rotateC">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="currentDeviancePointer_s">
<EasingDoubleKeyFrame KeyTime="0" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:0:1" Value="10"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
次に、2 番目の値を変数にバインドしたいと思います。
依存関係プロパティのチュートリアルを見つけて試してみました。私のコードはコンパイルして実行されますが、何も起こりません:(
これが私がやったことです:
作成された依存オブジェクト:
public class RotateClass : DependencyObject
{
public static readonly DependencyProperty NewAngleProperty =
DependencyProperty.Register("newAngle", typeof(double), typeof(RotateClass), new PropertyMetadata(10.0));
public double newAngle
{
get
{
return (double)GetValue(NewAngleProperty);
}
set
{
SetValue(NewAngleProperty, (double)value);
}
}
}
1 つのオブジェクトを作成しました:
public MainPage()
{
InitializeComponent();
...
angleContainer= new RotateClass();
...
}
次のハンドラーでボタンを作成しました。
angleContainer.newAngle = 45;
if (rotateC.GetCurrentState() != ClockState.Active)
{
rotateC.Begin();
}
そして、ここに私のバインディングがあります:
<Storyboard x:Name="rotateC">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="currentDeviancePointer_s">
<EasingDoubleKeyFrame KeyTime="0" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:0:1" Value="{Binding ElementName=angleContainer,Path=newAngle}"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
間違いはありませんか?
多分私はこれをあまりにも難しい方法でやっていますか?他の解決策はありますか?ご協力ありがとうございました!