我有一个支持动画的控件。
我无法访问其内部结构。
如何每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线程中的调用。
是否有可能停止(冻结)某些控件的动画?
答案 0 :(得分:1)
我建议下载Silverlight Spy并使用它来查看控件以及它是如何进行动画的。如果它正在使用故事板,那么您将能够导航控制树以获取故事板,您可以在其上调用Pause method。
另一种选择是在C#win表单或WPF应用程序中托管浏览器控件内的UI,并使用它来捕获屏幕截图(或download a pre-built one)。