1
我有一個WPF應用程序與menuItem將調用WinForm表單。我能夠從WPF窗口打開WinForm,但它打開在WPF窗口後面。它不會移動到WPF窗口的前面。我可以很好地與WinForm窗口進行交互。WPF父與WinForm的孩子 - BringToFront()不工作
這裏是我使用啓動的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窗口頂部的代碼?
當我通過form.Show(window)傳遞IWin32Window對象時,出現錯誤「最好的重載匹配有一些無效參數」;我需要在WinForm中爲Show()創建一個重寫方法類定義? – Alex
然後你通過了錯誤的對象。 WPF沒有實現'IWin32Window';你需要自己製作一個包裝。 http://msdn.microsoft.com/en-us/library/szcefbbd(v=vs.110).aspx – SLaks
我沒有注意到我的幫手執行情況。 Visual Studio引用System.Windows.Interop中的http://msdn.microsoft.com/en-us/library/system.windows.interop.iwin32window%28v=vs.110%29.aspx。一切都很好。謝謝你的幫助。 – Alex