旋转图像元素抛出异常

时间:2015-10-12 08:49:28

标签: c# wpf rotation win-universal-app

我正在尝试获取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; } 行上我得到了这个例外:

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

我似乎无法理解为什么?有谁知道我做错了什么?

1 个答案:

答案 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;
}