Ich habe eine WPF-Anwendung mit einem menuItem, dasruft ein WinForm-Formular auf. Ich kann die WinForm über das WPF-Fenster öffnen, sie wird jedoch hinter dem WPF-Fenster geöffnet. Es wird nicht in den Vordergrund des WPF-Fensters verschoben. Ich kann gut mit dem WinForm-Fenster interagieren.
Hier ist der Code, mit dem ich WinForm starte
void ManualControlInit(object sender, RoutedEventArgs e) {
// Set visual styles
System.Windows.Forms.Application.EnableVisualStyles();
System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
DynamixelCsDemo form = new DynamixelCsDemo();
WindowInteropHelper wih = new WindowInteropHelper(this);
wih.Owner = form.Handle;
form.Show();
form.BringToFront();
}
Wie kann ich WinForm öffnen und über dem WPF-Fenster anzeigen lassen?
Antworten:
3 für die Antwort № 1Erstellen Sie eine Klasse, die implementiert IWin32Window
, geben Sie das Handle des WPF - Fensters von seinem zurück Handle
und übergeben Sie diese Klasse an form.Show()
.
Dadurch wird das Formular als Eigentum des Fensters festgelegt.