我正在尝试获取mainrocket_img
的{{1}}元素的初始角度值。为此,我正在使用计时器..计时器用于获取初始程度,然后每秒更改Image
的值。这是我的代码:
Angle
但是在 public void startRotationTimer()
{
rotationTimer = new DispatcherTimer();
rotationTimer.Tick += rotateTimer_Tick;
rotationTimer.Interval = new TimeSpan(0, 0, 0, 0, 100);
rotationTimer.Start();
}
void rotateTimer_Tick(object sender, object e)
{
RotateTransform transform = mainrocket_img.RenderTransform as RotateTransform;
double doubleAngle = transform.Angle;
}
行上我得到了这个例外:
对象引用未设置为对象的实例。
我似乎无法理解为什么?有谁知道我做错了什么?
答案 0 :(得分:1)
只有在某处事先设置了RenderTransform
属性时,您的代码才有效。
在XAML中设置RenderTransform
:
<Image>
<Image.RenderTransform>
<RotateTransform Angle="0"/>
</Image.RenderTransform>
</Image>
在代码后面设置RenderTransform
:
void rotateTimer_Tick(object sender, object e)
{
RotateTransform transform = mainrocket_img.RenderTransform as RotateTransform;
if (transform == null)
{
transform = new RotateTransform();
mainrocket_img.RenderTransform = transform;
}
double doubleAngle = transform.Angle;
}