每个文档的功能区实例

时间:2008-11-17 04:02:00

标签: ms-office vsto ribbon

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

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

我该如何解决这个问题 TIA

2 个答案:

答案 0 :(得分:4)

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

第一个被解雇然后你改变了当前的活动文档,但是在参数中没有关于该文档的信息,因此很难处理,因为你必须弄明白。

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

答案 1 :(得分:3)

在文档模型中挂钩到适当的事件(例如当活动文档被更改时),并且在那种情况下使相应的功能区按钮无效(您需要加载的原始Ribbon xml中的元素的id)

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