不能让网格面板转换XProperty

本文关键字:转换 XProperty 网格 不能 | 更新日期: 2023-09-27 18:13:52

我是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为TranslateTransform?

不能让网格面板转换XProperty

如果你得到一个null ref异常那么它可能是由这一行

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

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

继注释之后…

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

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

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