Как наложить элементы на элемент управления Win32, размещенный в приложении WPF? - PullRequest
0 голосов
/ 05 июня 2019

Я размещаю визуализированный образ программы Win32 внутри приложения WPF. Я заметил, что любой элемент WPF, который перекрывает размещенный контент, нарушает рендеринг. Я понимаю, что это связано с перекрытием регионов, как указано здесь (https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/technology-regions-overview).

Есть ли способ обойти это? То есть сделать содержимое Win32 в элементе управления WPF, а затем отобразить дополнительные элементы WPF поверх элемента Win32?

Прямо сейчас мне не нужно никакого прямого взаимодействия с контентом Win32, если это вызывает озабоченность, WPF может украсть фокус, клики и еще много чего.

Моя главная цель - визуализировать содержимое программы Win32 внутри элемента управления WPF и иметь возможность отображать над ним дополнительные элементы WPF (кнопки, изображения, что у вас есть).

Для хостинга я использую подход, изложенный здесь: https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/walkthrough-hosting-a-win32-control-in-wpf,, т.е. создание элемента хоста, производного от HwndHost, и обеспечение программы Win32 созданным таким образом дескриптором окна. Затем программа Win32 использует предоставленный ей дескриптор окна, чтобы передать его содержимое в элемент управления. Это работает нормально, пока элементы не нарушают «область» элемента управления. Как только какой-либо элемент перекрывает управление хостом, он вообще не будет отображаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...