title: Checkbox's OnAction does not do anything
body: <p>I have a custom ribbon with several checkboxes within a menu:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load"&gt;
    &lt;ribbon&gt;
      &lt;tabs&gt;
        &lt;tab id="ribbon" label="Ribbon"&gt;
          &lt;group id="ribbonGroup" label="Group"&gt;
            &lt;menu id="menu" label="Menu"&gt;
              &lt;checkBox id="checkbox1" label="Checkbox 1" visible="true" onAction="OnCheckboxChanged"/&gt;            
              &lt;checkBox id="checkbox2" label="Checkbox 2" visible="true" onAction="OnCheckboxChanged"/&gt;            
              &lt;checkBox id="checkbox2" label="Checkbox 2" visible="true" onAction="OnCheckboxChanged"/&gt;            
          &lt;/group&gt;
        &lt;/tab&gt;
      &lt;/tabs&gt;
    &lt;/ribbon&gt;
  &lt;/customUI&gt;
  </code></pre>
  
  <p>This is the respective C# code:</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.IO;
  using System.Linq;
  using System.Reflection;
  using System.Runtime.InteropServices;
  using System.Text;
  using System.Drawing;
  using System.Windows.Forms;
  using Office = Microsoft.Office.Core;
  using Excel = Microsoft.Office.Interop.Excel;
  using Microsoft.Office.Tools.Excel;
  
  namespace ExcelAddIn1
  {
      [ComVisible(true)]
      public class SSRRibbon : Office.IRibbonExtensibility
      {
          private Office.IRibbonUI ribbon;
  
          public SSRRibbon()
          {
          }
  
          #region IRibbonExtensibility-Member
          public string GetCustomUI(string ribbonID)
          {
              return GetResourceText("ExcelAddIn1.SSRRibbon.xml");
          }
          #endregion
  
          #region ribbon callback functions
          public void Ribbon_Load(Office.IRibbonUI ribbonUI)
          {
              this.ribbon = ribbonUI;
          }
  
          public void OnCheckboxChanged(Office.IRibbonControl control)
          {
              int i = 1;
          }
          #endregion
  
          #region auxiliary
          private static string GetResourceText(string resourceName)
          {
              Assembly asm = Assembly.GetExecutingAssembly();
              string[] resourceNames = asm.GetManifestResourceNames();
              for (int i = 0; i &lt; resourceNames.Length; ++i)
              {
                  if (string.Compare(resourceName, resourceNames[i], StringComparison.OrdinalIgnoreCase) == 0)
                  {
                      using (StreamReader resourceReader = new StreamReader(asm.GetManifestResourceStream(resourceNames[i])))
                      {
                          if (resourceReader != null)
                          {
                              return resourceReader.ReadToEnd();
                          }
                      }
                  }
              }
              return null;
          }
          #endregion
      }
  }
  </code></pre>
  
  <p>However, <code>OnCheckboxChanged</code> is never called. It works fine when I use this callback function with buttons but it does not with checkboxes, neither in the menu nor directly in the ribbon group. It also does work with <code>getPressed</code> instead of <code>onAction</code>.</p>