如何检测功能区中一个切换按钮的状态?

4

我已经在我的功能区中添加了一个切换按钮,现在我想将它的状态发送给另一个对象。以下是代码。

public void Butt_Click(Office.IRibbonControl control)
{
  something.SendButtVal(control.State);
}

当然,control.State无法使用。我怀疑我需要将control转换为ToggleButton类型或类似的类型,但智能感应没有给我任何东西...
我可以看到接口IRibbonControl的API在这里,但我想看到实现类的列表,就像JavaDocs中那样。我该怎么做呢?
编辑
请注意,我在询问一个功能区组件。请查看方法签名。它是功能区上的切换按钮。问题是我没有得到Checked属性,(可能)需要将control转换为正确的类型。
1个回答

5
你需要修改你的签名。它对于切换按钮来说不正确。详情请查看这里
public void ToggleButtonOnAction(IRibbonControl control, bool pressed)
{
  MessageBox.Show("ToggleButton was switched " + pressed ? "on" : "off");
}

我认为在Office 2007中它是这样工作的,但我现在使用的是Office 2010,带有bool参数的方法没有被调用。这里有一篇文章(http://msdn.microsoft.com/en-us/library/office/ff862101.aspx)说应该这样做,但实际上并没有! - user1675891
请确保在您的功能区 XML 中,您的按钮被定义为 <toggleButton /> 而不是 <button />。 - Oliver Gray

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接