本文介绍了色带加载后更改色带菜单属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我构建了一个VSTO(由Ribbon Designer创建,而不使用Ribbon XML).是否可以从Ribbon1.cs
更改选项卡的属性(如标签)?
I build a VSTO (made with the Ribbon Designer, not using Ribbon XML). Is it possible to change the properties (like label) of the Tab from Ribbon1.cs
?
我什至无法使用:
private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
{
myRibbon.Label = "something";
}
推荐答案
动态执行此操作的方法是使用回调.
The way to do this dynamically is using a callback.
在功能区XML中:
<tab id="myTabID" getLabel="myCallback">
....
</tab>
在功能区代码中:
public string myCallback(IRibbonControl control)
{
switch (control.Id)
{
case "myTabID":
return "My Label";
case "whatever else":
default:
return "n/a";
}
}
无论何时显示选项卡,回调都将执行,因此很可能在启动时执行.当您实际上想要更改显示内容时,必须使其无效:
The callback will execute whenever the tab is displayed, so probably on startup. When you actually want to change what's showing, you have to invalidate it:
ribbon.Invalidate();
// or
ribbon.InvalidateControl(id);
这篇关于色带加载后更改色带菜单属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!