使窗口成为Interop.Excel Com对象的子项

这几乎是我所需要的: 如何在菜单项上的父窗口下打开子窗口点击WPF?

但是,在这种情况下,我的父对象是一个Office.Interop.Excel com对象,而我的子对象是一个System.Windows.Window对象。 我想知道是否有办法从interop.excel对象获取或转换窗口对象。

我正在寻找的行为是,在Excel表格上的popup窗口应该是最上方的Excel应用程序的唯一。 设置属性TopMost不能在这里工作,因为窗口总是成为焦点。

向汉斯·帕斯坦(Hans Passant)致意,他向我指出了上述评论中的答案。

Excel的Application.Hwnd给了我excel窗口的句柄。 要将其转换为System.Windows.Window对象,我使用了以下内容:

 var helper = new System.Windows.Interop.WindowInteropHelper(view); helper.Owner = (System.IntPtr)excel.Application.Hwnd; 

这样,我的意见现在被指定为主窗口的子窗口。