2

我有这种情况。(.net 3.5)

使用 OleAutomation 和 Office Interop 创建 Excel、工具栏和工具栏中按钮的处理程序的 Winform 应用程序。

现在我们有了一些功能,可以使用以下方法显示用户模式窗口(winform 2.0):

form.ShowDialog(new ExcelHwndWrapper(objExcelApplication.HWND))

并且模态表单的“所有者”设置为“excel”窗口。

由于新功能的布局要求,现在我想创建一些 WPF 窗口而不是 Winforms。

有什么方法可以显示 WPF ModalDialog “over” excel Window 吗?

我找到了一些可以“在”winform 上显示 WPF ModalDialog 的东西,但没有超过 excel。

谢谢。

4

1 回答 1

2

在使用 VSTO 和 Office 2007 时,我在使用 WPF Windows 作为模式对话框时遇到了麻烦。我发现效果更好的是创建一个 Winforms 表单并将一个ElementHost控件放入其中,然后将我的 WPF 内容放入其中。

当我在没有 Winforms 包装器的情况下使用 WPF Windows 时,我遇到了正确捕获键盘输入等问题。

只要您使 ElementHost 伸展以填充整个对话,它就会看起来像您有一个 WPF 窗口。

于 2010-01-25T19:23:18.313 回答