title: Make changes to buttons and labels in an XML Ribbon during run-time
body: <p>I know there are several topics already on stackoverflow, but nothing that actually solves the problem. Here it is:
  Because of some inherent problems with Ribbon Designer I decided to build my next Excel AddIn using XML Ribbon.
  However, occasionally I need to make changes to the controls in the ribbon based on user selections. For example I need to change the text of a label, and also make some of the controls disabled in some cases. And here's where I hit a brick wall. It looks like there's no way to do it. I tried to put the logic in the onAction callback as follows:</p>
  
  <pre><code>public void LabelAction(IRibbonControl control)
  {
      LabelControl label = (LabelControl)control;
      label.Label = "changed text";
  }
  </code></pre>
  
  <p>But this cast doesn't work because apparently IRibbonControl interface has nothing to do with the RibbonControl class that LabelConrol inherits from.
  I was also not able to find any other way to access any of the XML ribbon controls. Is there even a solution to this? Or should I stick to Ribbon Designer?</p>