我有一个使用XML定义自己的功能区(Ribbon)的VSTO Excel应用程序,并且其中包含一个切换按钮。我希望能够通过编程方式更改切换按钮的状态(从“未按下”变为“已按下”)。似乎无法通过Globals.ribbons访问该按钮。除了回调方法之外,似乎不可能以编程方式访问功能区栏的内容吗?
您可以更改“getPressed”回调函数的返回值,然后调用(Ribbon as IRibbonUI)?.InvalidateControl("myToggleButtonId");,其中Ribbon是传递到OnRibbonLoad(object ribbon)回调函数中的内容。然后,“getPressed”将再次被调用,并且切换按钮将根据返回值进行设置。