4
我正在將一個攝像頭集成到一個WPF應用程序中。當我將HANDLE傳遞給DirectShow函數時,我可以在主窗口中看到相機饋送。但這不是我想要的。給定一個WPF圖像控件,是否可以確定它的HWND?
主要形式具有圖像控制,我想在哪裏看到的輸出。但是,爲了做到這一點,我需要控制柄。
如何做到這一點的任何提示?
在此先感謝, 贊布羅塔。
我正在將一個攝像頭集成到一個WPF應用程序中。當我將HANDLE傳遞給DirectShow函數時,我可以在主窗口中看到相機饋送。但這不是我想要的。給定一個WPF圖像控件,是否可以確定它的HWND?
主要形式具有圖像控制,我想在哪裏看到的輸出。但是,爲了做到這一點,我需要控制柄。
如何做到這一點的任何提示?
在此先感謝, 贊布羅塔。
在WPF的Image Control,不像Windows窗體,實際上並沒有一個HWND。
WPF的工作方式不同於Windows窗體 - 每個控制不在身邊一個天然的「窗口」帶有手柄的包裝,但在佈局系統運行時使用的Direct3D而共同組成。
如果您需要實際從一個WPF窗口內的攝像頭主機輸出,你應該看看使用HwndHost(或子類)。最簡單的方法通常是在WindowsFormsHost之內託管Windows窗體控件,儘管通過HwndHost
自己管理HWND會更高效。
謝謝!我現在試圖使用WindowsFormsHost,但顯然沒有顯示任何內容。我正在研究它,我會讓你知道!再次感謝你! –
@Gianluca:您需要在WindowsFormsHost中放置一個控件 - 我建議在那裏放置一個Windows.Forms.Panel - 然後使用面板的Handle作爲您的HWND。 –