嘿伙计们,你能帮我解决这个问题吗?我仍在研究如何清除功能区 XML 中组合框控件上的值的答案。到目前为止我还没有找到合适的解决方案。
我的组合框控件是相互链接的,组合框2取决于组合框1选定的值,因此每次组合框1选定值发生变化时,我都需要清除组合框2中的数据文本。
最佳答案
我实际上并没有在 VSTO 中这样做,但我已经对 VBA 回调和 dropDown
做了类似的事情。控制。以下是我的做法,只有回调是 VBA 而不是 VB.NET(未经测试!)
定义组合框的回调:
使用
getItemCount
,getItemID
和getItemLabel
定义组合框的内容 - 您必须使用某种状态来知道如何根据第一个组合的内容填充第二个组合中的值。使用
onChange
对第一个组合进行回调以触发第二个组合失效。您使用对功能区的引用并调用Invalidate
重新加载整个功能区 ochInvalidateControl(id)
使特定控件无效(例如第二个组合)
如果你无法让它工作,我建议使用 dropDown 控件,它有更多可用的回调和更好的控制( onAction
回调定义了选择的索引,而不是字符串就像组合框 onChange
)。
上述回调的 VB.NET 签名:
Function GetItemCount(control As IRibbonControl) as Integer
Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String
Function GetItemLabel(control As IRibbonControl, itemIndex as Integer) as String
Sub OnChange(control As IRibbonControl, text As String)
关于xml - 用于清除值的功能区 XML 组合框控件... VB.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12486440/