我已经实现了一个功能区,根据文档文件路径启用/禁用其按钮。 问题是,当我打开第二个文档时,不会再次调用Ribbon_Load,并且按钮具有第一个打开文档的值。 为什么会发生这种情况?如何在每次调用新项目时调用Ribbon_Load?
谢谢
答案 0 :(得分:1)
Ribbon_Load
。当您打开其他文件时,即使文档显示在单独的窗口中,也不会再次加载该加载项。所以不再调用Ribbon_Load。
您可以使用DocumentOpen
事件来触发应执行的功能区回调。 (具体如何操作取决于您是使用Ribbon Designer还是Ribbon XML。)请注意,如果您希望每个文档窗口反映功能区中的不同设置,您可能还需要处理其他事件,例如NewDocument
,DocumentClose
和WindowActivate
。
您可能会发现MSDN上的以下文章很有用,即使它是为自定义任务窗格编写的,管理多个Ribbons所需的逻辑也几乎相同:在Multiple Word and InfoPath documents中管理任务窗格。