Я показываю окно exe WPF внутри другого приложения WPF, используя winform host.Окно WPF внутри панели WinformHost
Я создал панель в основном приложении и установил ее как дочерний элемент winformhost.
mHostingPanel = new System.Windows.Forms.Panel()
{
BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
};
mWinformHost = new WindowsFormsHost();
mWinformHost.Child = mHostingPanel;
, а затем я запускаю другой процесс окна и устанавливаю в качестве родительской панели хостинг.
WindowsAPI.SetParent(mProcess.MainWindowHandle, mHostingPanel.Handle);
Мой вопрос, если я запустить приложение, Кто будет рендеринг моего ребенка WPF окно, чей родитель является WinForm panel.Will это будет Direct-X или GDI контекст панели?
Также, если я устанавливаю Allowtransparency = True в дочернем WPF-приложении, пользовательский интерфейс не отображается в панели хостинга.
Это зло, и не обязательно в плохом смысле! – tolanj
Я не думаю, что получение права собственности на окно повлияет на рендеринг wpf. Я бы посмотрел на это: https://blogs.msdn.microsoft.com/oldnewthing/20130412-00/?p=4683/ – tolanj
@tolanj: Если вы читаете эту запись в блоге, вы не можете прийти к выводу, что это не обязательно были злом. Очень, очень плохо. Это другое приложение, безусловно, не готово к повторному воспроизведению. Если бы это было так, это был бы элемент управления ActiveX. – IInspectable