我创建了一个 Microsoft Word 2010 vsto 加载项,当用户单击功能区按钮时,它会显示许多自定义 Wpf 窗口对话框。
我遇到的问题是,如果您单击任务栏中的 Word 图标,自定义对话框会在 Word 实例后面消失。
谷歌搜索后,似乎可以通过设置窗口的所有者属性来解决此问题,但我正在努力获取 Word 应用程序的 Window 实例。
我在下面附上了相关代码,有什么建议吗?
using WordNS = Microsoft.Office.Interop.Word;
Window wrapperWindow = new Window();
wrapperWindow.ResizeMode = ResizeMode.NoResize;
wrapperWindow.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
wrapperWindow.ShowInTaskbar = false;
wrapperWindow.Content = dialogViewModel.View;
wrapperWindow.Title = dialogViewModel.Title;
wrapperWindow.SizeToContent = SizeToContent.WidthAndHeight;
WordNS.Application app = (WordNS.Application)Marshal.GetActiveObject("Word.Application");
wrapperWindow.Owner = (Window)app.ActiveWindow;
最佳答案
异常清楚地表明您的问题的答案是否定的。
如果 Microsoft.Office.Interop.Word
提供任何方法来获取 Word 主窗口的窗口句柄 (HWND)(或者如果您通过某些 Win32 调用获取该句柄),您可以尝试通过 WindowInteropHelper.Owner 设置窗口的所有者属性(property)。
关于c# - 可以将事件的 Microsoft Word 窗口转换到 WPF 窗口吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861406/