比如,我的有些工具,只有新建的项目,才能让它可用,我用代码怎么实现呢?
我测试了一下,不需要自己写NamedExpression Provider,用现有的机制也是能实现您的需求的。
1、自定义一个MS的配置变量,比如就叫NewProject;
2、在您的DGNLIB中定义一个NamedExpression如下:
3、在您的DGNLIB中定义一个Ribbon按钮如下:
4、如果是新建项目状态,就用代码创建一个NewProject配置变量,其值无所谓,只要改变量存在即可。如果是非新建项目状态,就把该变量删除。
5、用代码发送任意一个系统的命令,比如Place Line;Choose None,只要改变了基本命令状态,就相当于满足了Sync Item Event中指定的Active Primitive Tool Changed这个事件,我们定义的命名表达式IsNewProject就会被重新计算,从而我们的Ribbon按钮的可见性就会被更新。
Answer Verified By: lingwei liu