如何在不创建窗口的情况下将WPF UserControl渲染为位图
如何在不创建窗口的情况下将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;
}
以上是 如何在不创建窗口的情况下将WPF UserControl渲染为位图 的全部内容, 来源链接: utcz.com/qa/400921.html