将RibbonLabel添加到Word 2007中的功能区时出现问题

时间:2011-06-07 10:58:52

标签: c# xml vsto

目前我正在研究Ms-Word 2007 Addin。在这里,我使用xml文件动态生成功能区标签。请找到附带的xml代码。

  <LabelGroup>

    <GroupName>grpDocumentInformation</GroupName>

    <GroupLabel>Document  Information</GroupLabel>

    <Labels>

      <Label>

        <LabelName>lblReferenceNo</LabelName>

        <LabelText>Reference No:</LabelText>

      </Label>

      <Label>

        <LabelName>lblReferenceType</LabelName>

        <LabelText>Reference Type:</LabelText>

      </Label>

      <Label>

        <LabelName>lblCreatedBy</LabelName>

        <LabelText>Created By</LabelText>

      </Label>

      <Label>

        <LabelName>lblDocumentType</LabelName>

        <LabelText>Document Type:</LabelText>

      </Label>

    </Labels>

  </LabelGroup><Groups>

    I am getting this xml and my code follows like this:

XmlNodeList labelGroupsList = xmlDoc.DocumentElement.SelectNodes(“// Groups / LabelGroup”);

foreach(labelGroupsList中的XmlNode组)

        {

            rGroup = new RibbonGroup();

            rGroup.Name = group.SelectSingleNode("GroupName").InnerText;

            rGroup.Label = group.SelectSingleNode("GroupLabel").InnerText;



            XmlNodeList labelElements = group.SelectNodes("Labels");

            foreach (XmlNode labelList in labelElements)

            {

                XmlNodeList labels = labelList.SelectNodes("Label");

                foreach (XmlNode label in labels)

                {

                    rLabel = new RibbonLabel();

                    rLabel.Name = label.SelectSingleNode("LabelName").InnerText;

                    rLabel.Label = label.SelectSingleNode("LabelText").InnerText;

                    rLabel.Enabled = true;

                    rLabel.ShowLabel = true;

                    ***rGroup.Items.Add(rLabel);***

                }

            }

            tab1.Groups.Add(rGroup);

        }

当我将Label添加到Group时,我遇到了问题。如果该行被注释,我将获得一个空组。

请帮我添加标签给小组。

谢谢, K.S. Reddi Prasad。

1 个答案:

答案 0 :(得分:2)

老实说,我认为你做得比实际要困难得多。

实际上,一旦定义了控件并将其传递给Word,就无法“添加”控件,因此通常最好“预先定义”xml中可能需要的所有控件。或者功能区设计器,然后隐藏/显示或禁用/启用适用的控件,因为事情发生在单词中。它确实简化了整个色带创建过程。