1、实现MDI功能需要引用user32.dll的函数SetParent
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetParent")]
public extern static IntPtr SetParent(IntPtr ChildPtr,IntPtr ParentPtr);
2、在创建MDI的类中需要引用命名空间 system.windows.interop;
Public void Show()
{
MainWindow MainPage = obj as MainWindow;
View.ChildWindow Child1 = new View.ChildWindow();
Child1.Show();
WindowInteropHelper ParentHelper = new WindowInteropHelper(MainPage);
WindowInteropHelper ChildHelper = new WindowInteropHelper(Child1);
Model.Win32Native.SetParent(ChildHelper.Handle, ParentHelper.Handle);
}
通过上述代码即可实现MDI功能
由于版本更新后wpf不在支持MDI所以建议使用avalondock替代
需要扩展NuGet :extended.wpf.toolkit
avalondock
代码下载地址:代码下载地址