У меня есть собственная библиотека (нет доступных источников), обернутая в код C #.
Существует следующая декларация C #:
[DllImport(DRIVER_DLL_NAME,
CallingConvention = CallingConvention.Cdecl,
EntryPoint = "RenderBitmap")]
private static extern int RenderBitmap(int hWnd);
Мне нужно вызвать эту функцию из моего проекта WPF C #.
У меня есть рабочий пример кода для форм Windows:
System.Windows.Forms.PictureBox DisplayWindow;
...
RenderBitmap(DisplayWindow.Handle.ToInt32());
И я не нашел, как это сделать с WPF System.Windows.Controls.Image
вместо System.Windows.Forms.PictureBox
- нет свойства Handle
или чего-то подобного.
Более того, я нашел в «Взаимодействие WPF и Win32» следующее утверждение:
"Когда вы создаете окно WPF, WPF создает HWND верхнего уровня и использует HwndSource для помещения окна и его содержимого WPF в HWND. Остальная часть содержимого WPF в приложении разделяет этот отдельный HWND." .
Кажется, что дескриптор HWND вообще не существует для Image
.
Как вызвать нативный код, который рисует в WPF Image из кода C #?