Revit二次开发将WPF面板Owner设置为Revit窗体

       在Revit开发中如果使用modeless的对话框,经常容易被Revit窗体覆盖,但是如果将窗体设为Topmost的话,当Revit失去焦点后,它又会遮住其他程序的界面,比如将Revit最小化后,TopMost的窗口没有随着Revit最小化,而是孤零零的显示在屏幕上并且遮挡了  其他窗口。其实只需要将Revit的窗体设置为弹出窗体的Ower就可以了,这样也不需要设置topmost。代码亲测可以使用。

//实例WPF窗体
WindowsIcon win=new WindowsIcon();
System.Windows.Interop.WindowInteropHelper mainUI = new System.Windows.Interop.WindowInteropHelper(windowIcon);
mainUI.Owner = Process.GetCurrentProcess().MainWindowHandle;
win.Show()

猜你喜欢

转载自blog.csdn.net/qq_40098572/article/details/114374182