旋转图像元素抛出异常

Rotating image element throwing exception

我正在尝试获取 mainrocket_img 的初始角度值,这是一个 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;
    }

但是在线 double doubleAngle = transform.Angle; 我得到这个异常:

对象引用未设置为对象的实例。

我就是不明白为什么?有谁知道我做错了什么?

您的代码只有在您事先在某处设置了 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;
}