Frage

Ich mag WPF Fenster in einer Legacy-Win32-Anwendung verwenden. Ich mag sie in einer ähnlichen Art und Weise verhalten, wie die WPF-Fenster immer oben auf dem win32 Fenster angezeigt wird.

Dazu möchte ich den Besitzer der WPF-Fenster auf die win32 Fenster setzen, aber ich habe keine Ahnung, wie dies zu erreichen.

Jede Hilfe hier?

Da die Antwort hinter einem Link versteckt, hier der Code, den Trick:

System::Windows::Interop::WindowInteropHelper^ helper = gcnew System::Windows::Interop::WindowInteropHelper(myWpfChildWindow);
helper->Owner = (System::IntPtr)myMainWindowHWND;
War es hilfreich?

Lösung

Dieser Artikel zeigt, wie Sie die Griffe für beide zu bekommen und wie die WPF-Fenster machen ein transparentes Overlay für das win32 Fenster werden.

http://blogs.microsoft.co.il/blogs/tamir/archive/2007/04/11/Transparent-WPF-control-over-unmanaged-window-handle.aspx

In diesem Artikel wird ein WindowInteropHelper ähnliche Funktionalität zu erreichen.

http://blogs.msdn.com/wpfsdk/archive/2007/04/03/centering-wpf-windows-with-wpf-and-non-wpf-owner-windows.aspx

MSDN-Seite auf WindowInteropHelper:

http://msdn.microsoft.com/ en-us / library / system.windows.interop.windowinterophelper.aspx

Ich hoffe, das hilft, Ed

Andere Tipps

Wie wäre es SetParent() ? Ich weiß, funktioniert, wenn ein WPF-Fenster ein MDI-Kind eines Windows Form zu machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top