WPF创建尚未显示的窗口位图

时间:2010-08-27 22:30:38

标签: c# wpf

是否可以创建未使用屏幕截图而未显示的窗口的位图?

我想要做的是启动我的应用程序,并有一个显示其他窗口的主窗口。我使用可视画笔在它们显示后显示它们,并且图像在窗口关闭后保留,但如何在Window.Show()之前显示窗口的图像?

3 个答案:

答案 0 :(得分:1)

我会猜测 window在需要之前不会呈现,因此无法获得它的展平位图。我想知道你是否能以某种方式让它“显示”而不显示?你可以使用Window.Hide()吗?把它扔到那里。

也让我想到 - 你为什么要获得一个Window的位图? Windows用于呈现UI,而不是用于显示UI选择的抽象表示。也许为每个选择创建一个抽象图标会更有用吗?

答案 1 :(得分:1)

如果不首先创建Window,则无法执行此操作,因为在创建之前它不会在可视树中。您可以在工作区域外的区域中创建它,并从那里生成位图。你首先需要它布局,因为绑定,布局转换等。

答案 2 :(得分:0)

您应该在此处获得所需的一切:http://www.west-wind.com/weblog/posts/150676.aspx和此处:http://www.codeproject.com/KB/WPF/WPF-Image-to-WebPage.aspx

关键是RenderTargetBitmap