如何在不创建窗口的情况下将WPF UserControl渲染为位图?我需要呈现一个WPF UserControl并将其上传到另一个程序。位图将通过Windows服务呈现,因此创建窗口不是一种选择(我知道有“虚拟”创建窗口的方法,但是不幸的是,在我的情况下,任何调用命令来创建窗口的方法都不是一种选择)。有没有一种方法可以将UserControl渲染而不将其绑定到Window?
最终使用没有实际窗口的HwndHost。
void cwind() { Application myapp = new Application(); mrenderer = new WPFRenderer(); mrenderer.Width = 256; mrenderer.Height = 256; HwndSourceParameters myparms = new HwndSourceParameters(); HwndSource msrc = new HwndSource(myparms); myparms.HwndSourceHook = new HwndSourceHook(ApplicationMessageFilter); msrc.RootVisual = mrenderer; myapp.Run(); } static IntPtr ApplicationMessageFilter( IntPtr hwnd, int message, IntPtr wParam, IntPtr lParam, ref bool handled) { return IntPtr.Zero; }