Silverlight:暂停动画
本文关键字:动画 暂停 Silverlight | 更新日期: 2023-09-27 18:27:50
我有一个支持某些动画的控件。
我无法接触到它的内部结构。
如何每隔200毫秒获取此动画的屏幕截图?
我试过这个代码:
var timer = new Timer(state =>
{
this.root.Dispatcher.BeginInvoke(() =>
{
var bitmap = new WriteableBitmap(this.root, new TranslateTransform());
SaveImageSomewhere(bitmap, "picture_" + (i++) + ".png");
});
}, null, 0, 200);
但它不会以200ms的间隔启动屏幕截图操作,因为捕获在UI线程中调用。
是否有可能停止(冻结)动画以进行某些控制?
我建议下载Silverlight Spy,并使用它来查看控件以及它是如何制作动画的。如果它正在使用情节提要,那么您将能够导航控制树以到达情节提要,并且您可以在上面调用Pause方法。
另一种选择是在C#获胜表单或WPF应用程序中的浏览器控件中托管UI,并使用它来捕获屏幕截图(或下载预构建的屏幕截图)。