[英]The ribbon added to a VSTO for Excel is of type RibbonBase and not IRibbonExtensibility
我正在構建一個 VSTO 應用程序 (WinForms) 並按照以下說明進行操作:
步驟如下所示:
當我在步驟 5 中添加CreateRibbonExtensibilityObject()
代碼時(如下所示):
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
return new MyRibbon();
}
我收到以下錯誤:
Cannot implicitly convert the type MyRibbon to Microsoft.Office.Core.IRibbonExtensibility. An explicit conversion exists (are you missing a cast)?
Visual Studion 生成的 class 是RibbonBase
類型。
partial class CLIREMPRibbon : Microsoft.Office.Tools.Ribbon.RibbonBase {...}
下面的類型轉換會引發異常:
Unable to cast object of type MyRibbon to type Microsoft.Office.Core.IRibbonExtensibility.
如何將 RibbonBase 的正確類型轉換應用於 IRibbonExtensibility 接口實例?
在 VSTO 中,您可以使用可視化設計器創建基本的自定義 Fluent UI,然后將其導出到功能區 XML 文件,之后可以進行擴展。 不幸的是,功能區設計器中並非所有功能都可用,因此有時您必須改用原始 XML 標記。 在如何:將功能區從功能區設計器導出到功能區 XML文章中了解更多信息。 因此,如果您對設計人員感到滿意,則無需修改代碼中的任何內容。 您必須選擇一種或另一種方式來自定義 Fluent UI。
看:
“您不必重寫此方法來返回使用功能區(可視化設計器)項目模板添加到項目中的功能區。
默認情況下,此方法返回一個 RibbonManager object,它代表項目中的所有 Ribbon(可視化設計器)項。 有關詳細信息,請參閱功能區概述。”
我已從 XML 切換到使用可視化設計器,以便添加活動面板。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.