可以';t填充RibbonMenu

本文关键字:填充 RibbonMenu 可以 | 更新日期: 2023-09-27 18:01:10

我需要在运行时用数据库中的一些数据填充RibbonMenu控件。

我把我的补偿计入:http://msdn.microsoft.com/en-us/library/microsoft.office.tools.ribbon.ribbonmenu(v=vs.90(.aspx

代码:

private void PopulateCustomerMenu()
{
    // Add two sub-menus to EmployeeMenu and populate each sub-menu
    // First sub-menu
    RibbonMenu subMenu1 = new RibbonMenu(); //new RibbonMenu(); is underlined red
    subMenu1.Dynamic = true;
    subMenu1.Label = "A - M";
    subMenu1.Items.Add(new RibbonToggleButton()); //new RibbonToggleButton() is as well
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Hall, Don";
    subMenu1.Items.Add(new RibbonToggleButton()); //new RibbonToggleButton() is as well
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Valdez, Rachel";
    CustomerMenu.Items.Add(subMenu1);
    // Second sub-menu
    RibbonMenu subMenu2 = new RibbonMenu(); //new RibbonMenu(); is as well
    subMenu2.Dynamic = true;
    subMenu2.Label = "N - Z";
    subMenu2.Items.Add(new RibbonToggleButton()); //new RibbonToggleButton() is as well
    ((RibbonToggleButton)subMenu2.Items.Last()).Label = "Robinson, Alex";
    CustomerMenu.Items.Add(subMenu2);
}

我只听到Visual Studio说"错误1无法创建抽象类或接口'Microsoft.Office.Tools.Ribbon.RibbonMenu'C:''Users''Christoffer''Documents''Visual Studio 2010''Projects''OutlookAddIn2''OutlookAddIn2''Ribbon1.cs 80 35 OutlookAddIn2">

我已经被困了15个小时,所以我对任何事情都持开放态度。。。。有什么想法吗?

可以';t填充RibbonMenu

有趣的是,在不同的dll中有一个接口和一个同名的类。如果你看一下这里的文档页面,你会看到以下关于界面作用的信息:

命名空间:Microsoft.Office.Tools.Ribbon

程序集:Microsoft.Office.Tools.Common(位于Microsoft.Office.Tools.Common.dll(

在你链接到的页面上,你有:

命名空间:Microsoft.Office.Tools.Ribbon

程序集:Microsoft.Office.Tools.Common.v9.0(位于Microsoft.Office.Tools.Common.v9.0.dll(

您链接到的是Visual Studio 2007版本(因此链接中的v=vs90(。如果您试图使用该版本,请确保您的项目引用的是正确的dll(Microsoft.Office.Tools.Common.v9.0.dll(,而不是新的dll(MicrosoftOffice.Tools.Common.dll(

如果要使用新的dll,则为了创建菜单或菜单项,必须根据构建功能区的位置获取RibbonFactory的实例。例如,如果您试图将功能区菜单添加到Word,您可以调用Globals.Factory.GetRibbonFactory(),然后使用此调用返回的工厂来创建功能区。