首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF -无TranslateTransform的几何动画的简单方法

WPF -无TranslateTransform的几何动画的简单方法
EN

Stack Overflow用户
提问于 2017-09-16 21:47:35
回答 1查看 252关注 0票数 1

以下代码以偏移量(200,200)对关联的GlyphRun对象进行工作和动画,文本沿着红色箭头指示的路径移动,持续时间为1.250秒:

代码语言:javascript
复制
Geometry grg = _glyphRun.BuildGeometry();                         
drawingContext.DrawGeometry(Brushes.Black, null, grg);            
grg.Transform = new TranslateTransform(0, 0);                     
Duration duration = new Duration(new TimeSpan(0, 0, 0, 1, 250));    
DoubleAnimation anim = new DoubleAnimation(200, duration);          
anim.EasingFunction = new QuarticEase();                            
grg.Transform.BeginAnimation(TranslateTransform.XProperty, anim);   
grg.Transform.BeginAnimation(TranslateTransform.YProperty, anim); 

然而,我不理解TranslateTransform所涉及的需求,因为它的零偏移点。

能否以更简单的方式实现上述动画?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-17 01:25:00

正在被动画化的是TranslateTransform的属性。对象被初始化为(0, 0),但是随着动画的发展,该对象的XY属性将被修改。事实上,正是这种修改导致了字形在动画中被迭代地移动。

至于能否以一种更简单的方式实现,好吧,…有点像“旁观者之眼”之类的东西。就我个人而言,我认为在XAML中声明动画“更简单”,而不是编写代码。所以在这个意义上,当然,…当然可以做得更简单。

除此之外,如果所绘制的只是简单的文本,在我看来,在Canvas中放置一个Canvas并动画化TextBlock对象的Canvas.LeftCanvas.Top属性也会被认为更简单。坦率地说,任何其他选择都可以被认为更简单。或者不是,取决于你对“更简单”的看法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46258719

复制
相关文章

相似问题

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