1
我在使用winform主機的另一個WPF應用程序內顯示WPF exe窗口。WinformHost面板內的WPF窗口
我在主應用程序中創建了一個面板,並將其設置爲winformhost的子面板。
mHostingPanel = new System.Windows.Forms.Panel()
{
BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
};
mWinformHost = new WindowsFormsHost();
mWinformHost.Child = mHostingPanel;
然後我啓動其他窗口進程並將主機面板設置爲父級。
WindowsAPI.SetParent(mProcess.MainWindowHandle, mHostingPanel.Handle);
我的問題是,如果我啓動應用程序,他們將呈現我的孩子WPF,其父母爲一個winform panel.Will它是直接-X或面板的GDI上下文窗口?
此外,如果我在子WPF應用程序上設置Allowtransparency = True,UI不會顯示在主機面板中。
這是邪惡的,而不一定是壞的方式! – tolanj
我不認爲取得窗口的所有權將會影響wpf渲染。我會看看這個雖然:https://blogs.msdn.microsoft.com/oldnewthing/20130412-00/?p=4683/ – tolanj
@tolanj:如果你閱讀該博客條目,你不可能得出結論,這不一定是邪惡的。以非常**非常糟糕的方式。這個其他應用程序肯定不準備重新參與。如果是,它將是一個ActiveX控件。 – IInspectable