溢出!C中雙動畫的依賴屬性#
我想爲WP編寫一個變量動畫。
我創建動畫與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>
現在我想第二個值綁定到一個變量。
我找到了依賴屬性的教程並試用了它們。我的代碼編譯和運行,但沒有任何反應:(
這裏是我做了什麼:
產生了依賴對象:
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);
}
}
}
創建一個對象:
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>
有沒有搞錯?
也許我這樣做太困難了?還有其他解決方案嗎? 謝謝你的幫助!
爲什麼你有一個類擴展'DependencyObject' ......你不能簡單地綁定到一個'DependencyProperty'?你在使用MVVM嗎?任何框架? – Noctis
我剛剛安裝了WP8 SDK。沒什麼特別的。我也試過只使用依賴屬性,沒有任何類,但它沒有工作。 – user2919026