目前我正在研究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。
答案 0 :(得分:2)
老实说,我认为你做得比实际要困难得多。
实际上,一旦定义了控件并将其传递给Word,就无法“添加”控件,因此通常最好“预先定义”xml中可能需要的所有控件。或者功能区设计器,然后隐藏/显示或禁用/启用适用的控件,因为事情发生在单词中。它确实简化了整个色带创建过程。