我有一个项目,我正在使用Office.IRibbonExtensibility继承。我遇到的问题是我的项目要求我在功能区上按下按钮时“取消选中”复选框。 据我所知,只有您当前选择的控件可以通过按钮处理程序的Office.IRibbonControl属性在代码中访问。 所以我的问题是,如何在基于XML的VSTO项目中的按钮单击事件中访问我的checkbox元素?
答案 0 :(得分:1)
试试此代码
<强> 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;
}