在Vsto Office插件中为XAML声明xmlns:self时出现CS1061错误

时间:2020-08-28 12:36:31

标签: c# excel wpf xaml vsto

.Net世界是我的新手,我正在VS 2019中使用C#构建Excel加载项(vsto)。我试图在WPF窗口中显示一些信息。为了进行绑定,我定义了xmlns:self="clr-namespace:DialogWindow"

但是,在我声明此“ xmlns:self”之后不久就构建了项目,在处理Excel的C#类上我遇到了一堆CS0266和CS1061错误。

CS0266 C#无法将类型'object'隐式转换为。一个明确的 转换存在(您是否缺少演员表?)

at

currentSheet = Globals.ThisAddIn.Application.ActiveSheet;

CS1061 C#'对象'不包含的定义且不可访问 接受类型为'object'的第一个参数的扩展方法可能是 找到(您是否缺少using指令或程序集引用?)

at

currentSheet.Cells[1, 1].EntireRow.Font.Bold = true;

直到我在声明中添加xmlns:self为止,整个Addin都符合WPF组件并与WPF组件配合良好。

1 个答案:

答案 0 :(得分:0)

我花了数小时来寻找解决方案,但是找不到一个在VSTO Office Addin中使用WPF并遇到这个奇怪问题的人。听起来可能很奇怪。这里的解决方案是将它们分成碎片并按照建议进行铸造。解决上述问题的方法是

Excel.Range newRange = (Excel.Range)newWorkSheet.Cells[1, 1];
newRange.EntireRow.Font.Bold = true;

显式转换并将范围传递到另一个变量。 仍然奇怪的是,直到我在绑定声明中添加xmlns:self为止,整个Addin都符合WPF组件并可以与WPF组件正常工作。 我不知道添加xmlns:self后它会弯腰编译。