我目前正在深入研究Word 2010的VSTO加载项开发和功能区自定义。这样做很好,但有一个缺点:功能区自定义应仅针对某些文档进行,但IRibbonExtensibility.GetCustomUI()方法显然很明显在加载任何文档之前调用应用程序启动。我怎样才能达到这个要求?
答案 0 :(得分:1)
你是对的,它只被召唤一次。关于你唯一的选择(以及对我有用的东西),就是在你的前面的带子中定义一切,然后将VISIBLE属性设置为false或true,如果适用,取决于加载的文档或者你的插件中发生的其他任何事情。
答案 1 :(得分:0)
@drventure是对的,您必须先预先设置功能区,然后在功能区上显示/隐藏不同的按钮。
虽然我可以使用的项目中的一些功能可以帮到你,VSTO Contrib,它允许你创建一个ViewModel,它将为每个打开的文档创建,它会发现并连接按惯例,带状xml。
在您的情况下,这意味着您可以将功能区按钮可见性绑定到viewmodel上的属性,并且您不必担心保持窗口/文档同步。阅读http://jake.ginnivan.net/vsto-contrib/ribbon-factory并查看它是否可以帮助您解决堆少的代码问题=)