我有一个带有menuItem的WPF应用程序,它将调用WinForm表单。我可以从WPF窗口打开WinForm,但它在WPF窗口后面打开。它不会移动到WPF窗口的前面。我可以很好地与WinForm窗口进行交互。
以下是我用来启动WinForm的代码
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();
}
如何打开WinForm并将其显示在WPF窗口之上?
答案 0 :(得分:3)
创建一个实现IWin32Window
的类,从Handle
返回WPF窗口的句柄,并将该类传递给form.Show()
。
这会将窗体设置为窗口所拥有。