如何在Excel操作窗格中使用WPF控件?
有几个资源解释如何将WinForms控件添加到Excel。 看到这两个:
http://msdn.microsoft.com/en-us/library/vstudio/e3zbk0hz%28v=vs.100%29.aspx
http://www.clear-lines.com/blog/post/create-excel-2007-vsto-add-in-wpf-control.aspx
他们都提到使用WPF控件 (我需要的那个)的更新选项。 不幸的是,这两种资源都缺乏基本的部分。 有一个缺失的链接:
(1)微软网站提到了一些video – 确切的标题符合我的要求 – 但是看起来,该网站中的所有video都已被删除。
(2)Clear-Line站点包含一个优秀的分步项目,但是当提到关键部分时,作者使用VS中不存在的一些工具(工具箱的“WPF互操作性”部分) -2010+
基于上面的截图和其他网站,我得出的结论是缺less的环节,我的WPF UserControl和它在Excel中的外观之间的连接是一些ElementHost
。
@HighCore的附录。 请参阅下面的工具箱:
尊敬的自我:
您的问题是,您正在尝试将WPF控件放在另一个 WPF控件中 。
您需要创build一个老式的WinForm控制 ,然后使用工具箱,如下所示:
请注意, ElementHost任务部分已被重命名为WPF互操作性,但是它非常活跃。
来自MSDN杂志:
我不确定你为什么认为有一个“缺失的环节”。 ElementHost是在WinForms上托pipeWPF内容的标准方式,并且在上面的链接中也有详细logging,同样在这里 。
给定任何WinForms容器(如Form
或Panel
),只需:
var elementHost = new ElementHost { Child = new YourWPFContentHere() }; this.Controls.Add(elementHost);
确保您添加对这些程序集的引用:
-
PresentationCore
-
PresentationFramework
-
System.Xaml
-
WindowsBase
-
WindowsFormsIntegration程序