如何设置PathGeometry的动画以缓慢显示其自身
本文关键字:缓慢 显示 动画 何设置 设置 PathGeometry | 更新日期: 2023-09-27 18:22:40
Hi拥有以下XAML
<Path Stroke="#FF000000" StrokeThickness="3" StrokeStartLineCap="Round" StrokeEndLineCap="Round" StrokeDashCap="Round" StrokeLineJoin="Round" StrokeMiterLimit="4" Name="kvg_0994c_s1">
<Path.Data>
<PathGeometry FillRule="Nonzero" Figures="M28.27,12.64C28.32,13.27 28.52,14.32 28.17,15.16 25.86,20.7 19.22,31.55 9.81,39.71" />
</Path.Data>
</Path>
我希望设置PathGemorty的动画,使其慢慢显露出来(超过2秒左右)。基本上,我追求的效果是在屏幕上自动画一条线,特别是上面代码中指定的路径。
我需要在C#代码中这样做,因为我正在从外部文件动态加载XAML。如有任何帮助,我们将不胜感激。
你必须使用WPF动画。看看这里:http://msdn.microsoft.com/en-us/library/ms752312.aspx关于动画的更多信息,你可以在亚当·内森的优秀著作《Windows Presentation Foundation Unleashed》中找到。我想你可以在这里找到你的问题的确切答案:http://social.msdn.microsoft.com/Forums/en/wpf/thread/19a7bd4b-cf28-4b31-a329-a5f58b9ec374
"慢慢显露自己"是什么意思?你是说它是一点一点画出来的?然后,您必须分解数据,然后逐个添加元素来重新组成几何体。因此,您可以在代码隐藏中使用Path的名称(kvg_0994c_s1),(假设Path.Data始终是PathGeometry,因此您可以将其转换为PathGeometrys),在初始列表中获得PathGeometry.Features,然后清除显示的Path中的地物。然后你设置一个计时器(DispatchTimer可能足够了),每隔200ms左右调用一个函数,在这个函数中,你将一个接一个的数字添加到PathGeometry中。显示路径的数字。您可能需要调整每次添加的零件数量和计时器值,以获得所需的效果。如果你想要恒定的"速度"->你必须计算每个部分的长度并进行调整。但如果速度不恒定,看起来更像手绘,那可能会很好。