无法在VSTO Word插件中使用网格

本文关键字:网格 插件 Word VSTO | 更新日期: 2023-09-27 18:05:09

在我的VSTO应用程序级word插件中,我试图向UserControl添加网格,以使其布局连贯。

然而,当我尝试声明网格时,Visual Studio抱怨找不到类型或命名空间"grid"。我通过添加PresentationFramework程序集作为项目引用并导入System.Windows来解决此错误。控件,但现在我有一个更大的问题:Visual Studio抱怨"UserControl"是"System.Windows.Controls"之间的模糊引用。和System.Windows.Forms.UserControl .

我检查了我的。cs文件的顶部,发现它已经默认导入了System.Windows.Forms,现在,它还导入了System.Windows.Controls.

我想知道为什么VSTO项目默认导入System.Windows.Forms而不是System.Windows.Controls,这两个命名空间之间的主要区别是什么,因为在我的WPF应用程序中我使用System.Windows.Controls。谢谢你!

无法在VSTO Word插件中使用网格

从一开始VSTO就是一个基于Forms的工具集,而基于XAML的UI选项是在后来几年才出现的。显然,你仍然可以在你的XAML应用程序中使用System.Windows.Forms和引用,所以当添加XAML引用时,如果两者都存在,会有一些不明确的项目(我总是倾向于遇到XAML和Forms MessageBox不明确的接口),你需要给不明确的项目加上前缀。

我所做的是试图在XAML方面完全或决定移动到表单方面。

可能是VSTO,一种现在有点老的技术,项目模板是基于Forms库开始的,但是您可以自由地完全进入XAML世界。今天我自己的解决方案是完全基于XAML的,但我偶尔会回到表单(例如做一个快速演示)。

所以这只是一种技术选择,VSTO可以追溯到很久以前,所以它从表单开始。如果您喜欢,可以使用新的、闪亮的XAML技术(我有偏见,我喜欢这种技术),或者坚持使用Forms技术。