给定一个WPF图像控件,是否有可能确定其HWND

本文关键字:是否 有可能 HWND 控件 WPF 一个 图像 | 更新日期: 2023-09-27 18:08:06

我在WPF应用程序中集成了一个网络摄像头。我可以在主窗口中看到相机馈送,因为我将其HANDLE传递给DirectShow函数。但这不是我想要的。

主表单有一个Image控件,我想在其中看到输出。然而,为了做到这一点,我需要控件的Handle。

有关于如何做到这一点的提示吗?

提前感谢,蒋禄卡。

给定一个WPF图像控件,是否有可能确定其HWND

与Windows窗体不同,WPF中的图像控件实际上没有HWND。

WPF的工作方式与Windows窗体不同——每个控件都不是一个带有句柄的本机"窗口"的包装器,而是由布局系统在运行时使用Direct3D组合在一起。

如果你需要在WPF窗口内实际托管来自Webcam的输出,你应该使用HwndHost(或子类)。最简单的方法通常是在WindowsFormsHost中托管Windows窗体控件,尽管通过HwndHost自己管理HWND更有效。

使用WindowsFormsHost和里面的图片框是一个很好的解决方案,我用于一个类似的问题,我需要一个处理来显示视频流。但是要小心,为了工作,托管WindowsFormsHost控件的窗口必须有allowtransparent ="false"!