在WPF應用程序(C#)中,其中一個元素是通過覆蓋HwndHost類創建的Win32窗口。在任何時候,WPF中都有大約10個Win32窗口實例。一個應該完全渲染(工作正常),另外9個應該只顯示預覽,而不創建Win32窗口,只是一個位圖。將Win32窗口繪製到文件
我一直在想方設法生成所說的位圖。嘗試了很多不同的東西,但到目前爲止還沒有真正起作用。我遇到的主要問題是HwndHost.WndProc僅在窗口可見時調用。
我可以截取一個可見的窗口,將其渲染到內存並創建一個位圖罰款..我只需要一些這樣做,而窗口不可見的方式。
我的理解還是比較模糊的,所以任何見解都是值得讚賞的。
你是說只有當窗口在屏幕上可見時或僅在窗口至少在屏幕上顯示一次後才調用HwndHost.WndProc?窗口句柄可能只有在第一次顯示窗口時纔會創建。如果窗口(或其父窗口)在顯示後隱藏或最小化,則仍然應該在wndproc中獲取消息。 – dthorpe 2010-08-19 18:37:21
直到第一次在屏幕上顯示窗口。在顯示之前是否可以將此窗口繪製到內存中? 或者,也許一種解決方法是在新窗口中產生, Show(); Hide(); 然後嘗試畫? – mkocubinski 2010-08-19 18:48:15
請在標籤中留下「C#」等標籤,並將它們放在標題外面。這是多餘的。 – 2010-08-19 19:34:43