イメージを回転させるアニメーションで制御します。WPFの回転アニメーションを一時停止
いつでも回転アニメーションを開始、一時停止、再開します。
私はコードの後ろにすべてを持っている:
public partial class Wheel32Control : UserControl
{
public Wheel32Control()
{
InitializeComponent();
img.RenderTransform = new RotateTransform();
img.RenderTransformOrigin = new Point(0.5, 0.5);
_daRotate = new DoubleAnimation(0, 360, TimeSpan.FromSeconds(2))
{
RepeatBehavior = RepeatBehavior.Forever
};
}
private DoubleAnimation _daRotate;
private bool _rotate;
public bool Rotate
{
get
{
return _rotate;
}
set
{
_rotate = value;
if (_rotate)
RotateStart();
else
RotateStop();
}
}
private void RotateStart()
{
this.img.RenderTransform.BeginAnimation(RotateTransform.AngleProperty, _daRotate);
}
private void RotateStop()
{
this.img.RenderTransform.BeginAnimation(RotateTransform.AngleProperty, null);
}
}
私のXAMLの一部:
<Image Name="img" Source="/Plt;component/Resources/Images/Kolo_32_3.png"
Stretch="None"/>
私の問題:私はアニメーションを停止すると
- それは、 "ジャンプ" を "ゼロ点" 。私はそれを停止したときの位置で停止したい。
私のコードは、WPFで新しくアニメーションを「null」に設定しています。これは私が知っているアニメーションを停止するための唯一の方法です。代わりにFrom
とTo
を設定することにより、アニメーションの
ニースときれいなソリューション。 "奇妙な部分"の説明を追加してくれてありがとう! – Kamil