gpt4 book ai didi

c# - 可以将事件的 Microsoft Word 窗口转换到 WPF 窗口吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:18:28 24 4
gpt4 key购买 nike

我创建了一个 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;

Invalid cast exception when casting ActiveWindow to Window

最佳答案

异常清楚地表明您的问题的答案是否定的。

如果 Microsoft.Office.Interop.Word 提供任何方法来获取 Word 主窗口的窗口句柄 (HWND)(或者如果您通过某些 Win32 调用获取该句柄),您可以尝试通过 WindowInteropHelper.Owner 设置窗口的所有者属性(property)。

关于c# - 可以将事件的 Microsoft Word 窗口转换到 WPF 窗口吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com