Ich möchte WPF-Fenster in einer älteren Win32-Anwendung verwenden. Ich möchte sie auf eine ähnliche Weise verhalten, wie das WPF-Fenster immer über dem Win32-Fenster angezeigt wird.Wie Win32-Fenster als Besitzer von WPF-Fenster festlegen?
Dafür würde ich gerne den Besitzer des WPF-Fensters auf die Win32-Fenster setzen, aber ich hatte keine Ahnung, wie dies zu erreichen ist.
Irgendwelche Hilfe hier?
Da die Antwort hinter einem Link verbirgt, hier den Code ein, den Trick:
System::Windows::Interop::WindowInteropHelper^ helper = gcnew System::Windows::Interop::WindowInteropHelper(myWpfChildWindow);
helper->Owner = (System::IntPtr)myMainWindowHWND;
Ja, der zweite Artikel hat den Trick gemacht, kurz die folgenden Zeilen: System :: Windows :: Interop :: WindowInteropHelper^helfer = gcnew System :: Windows :: Interop :: WindowInteropHelper (myWpfChildWindow); helper-> Besitzer = (System :: IntPtr) myMainWindowHWND; – Sam
Froh, dass es funktioniert hat! –
Dies funktioniert auf .NET 4, aber nicht auf .NET 3.5. In .NET 3.5 hat das Ändern der Owner-Eigenschaft von WindowInteropHelper keine Auswirkungen. Weiß jemand warum, und ein Workaround? –