获取当前用户控件或Silverlight 3中的任何GUI的屏幕截图

我想询问是否可以以编程方式获取当前用户控件的屏幕截图并将其另存为silverlight 3中的文件。

我找到了一些方法来保存Silverlight 3中Canvas的图像文件,但用户控件或子窗口怎么样?

谢谢,

可写的位图可以让你这样做。 请参阅示例和示例。

不确定silverlight 3,但在4中它是这样做的:

public static byte[] CreatePngImage(this UIElement element) { WriteableBitmap screenshot = new WriteableBitmap(element, new TranslateTransform()); var image = screenshot.ToImage(); ImageTools.IO.Png.PngEncoder png = new ImageTools.IO.Png.PngEncoder(); using (var mem = new System.IO.MemoryStream()) { png.Encode(image, mem); var bytes = mem.GetBuffer(); return bytes; } } 

在这里可以找到ImageTools.IO.Png.dll