2

我有一个使用 Office.IRibbonExtensibility 继承的项目。我遇到的问题是,当按下功能区上的按钮时,我的项目要求我“取消选中”复选框。据我所知,只有您当前选择的控件可以通过按钮按下处理程序的 Office.IRibbonControl 属性在代码中访问。所以我的问题是,如何在基于 XML 的 VSTO 项目的按钮单击事件中访问我的复选框元素?

4

1 回答 1

1

试试这个代码

功能区.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>

功能区.cs

private bool isChecked = false;
public void btnTest_Click(IRibbonControl ribbon)
{
    isChecked = true;
    this.ribbon.Invalidate();
}
public bool chkTest_pressed(IRibbonControl ribbon)
{
    return isChecked;
}
于 2013-08-29T09:36:23.087 回答