我有一个项目,我在其中使用 Office.IRibbonExtensibility 继承。我遇到的问题是我的项目要求我在功能区上按下按钮时“取消选中”复选框。 据我所知,只有您当前选择的控件可以通过按钮按下处理程序的 Office.IRibbonControl 属性在代码中访问。 所以我的问题是,如何在基于 XML 的 VSTO 项目中访问按钮单击事件中的复选框元素?
最佳答案
试试这段代码
Ribbon.xml
<?xml version="1.0" encoding="UTF-8"?>
<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
<tabs>
<tab idMso="TabAddIns">
<group id="group1" label="group1">
<button id ="btnTest" size="large" label="TestButton" onAction="btnTest_Click"/>
<checkBox id ="chkTest" label="TestCheckbox" getPressed="chkTest_pressed" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Ribbon.cs
private bool isChecked = false;
public void btnTest_Click(IRibbonControl ribbon)
{
isChecked = true;
this.ribbon.Invalidate();
}
public bool chkTest_pressed(IRibbonControl ribbon)
{
return isChecked;
}
关于c# - 访问 IRibbonExtensibility 类中的另一个功能区元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18487526/