Способ сделать это динамически - использовать обратный вызов.
В вашей ленте 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";
}
}
Обратный вызов будет выполняться всякий раз, когда отображается вкладка, поэтому, вероятно, при запуске. Если вы действительно хотите изменить то, что показывает, вы должны сделать это недействительным:
ribbon.Invalidate();
// or
ribbon.InvalidateControl(id);