Silverlight:暂停动画

时间:2012-03-13 14:45:24

标签: c# silverlight

我有一个支持动画的控件。

我无法访问其内部结构。

如何每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线程中的调用。

是否有可能停止(冻结)某些控件的动画?

1 个答案:

答案 0 :(得分:1)

我建议下载Silverlight Spy并使用它来查看控件以及它是如何进行动画的。如果它正在使用故事板,那么您将能够导航控制树以获取故事板,您可以在其上调用Pause method

另一种选择是在C#win表单或WPF应用程序中托管浏览器控件内的UI,并使用它来捕获屏幕截图(或download a pre-built one)。

相关问题