4

我正在使用 VSTO 3.0,功能区设计器为我提供了一个明显跨文档共享的功能区。

因此,如果我有需要显示在功能区(或切换按钮)中的文档特定状态(标记为 XML 标记的数量),那么所有文档似乎都共享功能区实例

如何修复此 TIA

4

2 回答 2

5

您可以使用 Application.DocumentChange 事件或 Application.WindowActivate 事件。

第一个被触发,然后您更改当前活动文档,但在参数中没有关于该文档的信息,因此很难使用,因为您必须弄清楚这一点。

后者类似,每次更改窗口时都会触发它,但在这种情况下,它将当前活动文档作为参数传递,因此如果您需要检查任何文档属性的值,更改功能区会更容易。这对我有用。

于 2009-09-16T16:05:46.990 回答
3

挂钩到文档模型中的适当事件(例如活动文档更改时),在该事件中使适当的功能区按钮无效(您需要加载的原始功能区 xml 中的元素的 id)。

然后,当该按钮的刷新状态回调发生时,您可以根据需要更新标题/图像/启用。

于 2008-11-17T05:05:07.350 回答