首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ContentControl动画刻度

ContentControl动画刻度
EN

Stack Overflow用户
提问于 2020-02-21 12:24:22
回答 1查看 78关注 0票数 1

我试图动画的规模X和Y属性的ContentControl。这是我的密码:

//主窗口构造函数:

代码语言:javascript
复制
        ScaleTransform scale = new ScaleTransform(0, 0);
        ModalControl.LayoutTransform = scale;
        ModalControl.UpdateLayout();

//动画代码

代码语言:javascript
复制
        Dispatcher.Invoke(()=> {
            var anim = new DoubleAnimation {
                From = 0,
                To = 1,
                Duration = TimeSpan.FromMilliseconds(250)
            };

            var scaleXAnim = new DoubleAnimation {
                From = 0,
                To = 1,
                Duration = TimeSpan.FromMilliseconds(250)
            };

            ModalControl.BeginAnimation(OpacityProperty, anim); // this works
            ModalControl.BeginAnimation(ScaleTransform.ScaleXProperty, scaleXAnim); // this doesn't
            ModalControl.BeginAnimation(ScaleTransform.ScaleYProperty, scaleXAnim);

            Console.WriteLine("Animation called");

        });

XAML

代码语言:javascript
复制
    <ContentControl x:Name="ModalControl" Grid.RowSpan="4" Grid.ColumnSpan="2" Panel.ZIndex="100" Visibility="Visible" Opacity="0"  Content="{StaticResource ModalElement}" Background="Red">

我不知道我错过了什么。当动画不透明,它的工作,如预期,但规模更麻烦。还有什么要做的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-21 12:32:35

控件没有ScaleX和ScaleY属性。

您必须在控件的ScaleTransform中动画LayoutTransform对象的属性:

代码语言:javascript
复制
ModalControl.LayoutTransform.BeginAnimation(
    ScaleTransform.ScaleXProperty, scaleXAnim);

ModalControl.LayoutTransform.BeginAnimation(
    ScaleTransform.ScaleYProperty, scaleXAnim);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60338614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档