无法让Grid Panel翻译转换XProperty

时间:2011-11-09 13:32:19

标签: c# .net wpf

我是WPF的新手,每次运行代码时都会出错

DoubleAnimation da = new DoubleAnimation();
TranslateTransform tt = (OPMenuScreen.RenderTransform as TransformGroup).Children[0] as TranslateTransform;

da.By = -250;
tt.BeginAnimation(TranslateTransform.XProperty, da);

为什么我不能让OPMenuScreen转移到-250 Xproperty for TranslateTransform?

2 个答案:

答案 0 :(得分:1)

好的,如果你得到一个空引用异常,那么它可能是由这一行引起的

TranslateTransform tt = (OPMenuScreen.RenderTransform as TransformGroup).Children[0] as TranslateTransform;

这可能意味着Children属性的元素0不存在,因为Children为null。

答案 1 :(得分:0)

继续发表评论......

我不确定您的示例中的Children属性是否为空 - 我认为您的RenderTransform更有可能是空的,或者它不是TransformGroup的实例。无论哪种方式,您只需要确保在XAML中指定了以下内容:

注意:我不知道OPMenuScreen是什么类型,所以我会使用Control作为示例

<Control ...>
    <Control.RenderTransform>
        <TransformGroup>
            <TranslateTransform />
        </TransformGroup>
    </Control.RenderTransform>
</Control>