Имеется ли управление изображением WPF, возможно ли определить его HWND? - PullRequest
4 голосов
/ 07 сентября 2011

Я интегрирую веб-камеру в приложение WPF.Я вижу канал камеры в главном окне, когда я передаю его РУЧКУ функциям DirectShow.Но это не то, что я хочу.

Основная форма имеет элемент управления изображения, где я хотел бы видеть вывод.Однако, чтобы сделать это, мне нужен дескриптор элемента управления.

Есть подсказка, как это сделать?

Заранее спасибо, Джанлука.

Ответы [ 2 ]

6 голосов
/ 07 сентября 2011

Управление изображениями в WPF, в отличие от Windows Forms, фактически не имеет HWND.

WPF работает по-другому, чем Windows Forms - каждый элемент управления не является оберткой вокруг собственного «окна» с дескриптором, а скорее составляется вместе с использованием Direct3D во время выполнения системой макетов.

Если вам действительно нужно разместить выходные данные с веб-камеры внутри окна WPF, вы должны использовать HwndHost (или подкласс). Часто самый простой способ - просто разместить элемент управления Windows Forms внутри WindowsFormsHost , хотя управление HWND самостоятельно с помощью HwndHost более эффективно.

0 голосов
/ 18 июня 2018

Использование WindowsFormsHost и графического блока внутри - это хорошее решение, которое я использовал для аналогичной проблемы, где мне понадобился дескриптор для отображения видеопотока.Но будьте осторожны, чтобы работать, окно, в котором размещается элемент управления WindowsFormsHost, должно иметь AllowsTransparency = "false"!

...