Revit二次开发-在Revit选项卡面板添加扩展Tab

最近在查Revit api手册的时候,偶然发现了一个好玩的接口。这个接口用来扩展Revit选项卡的Tab,于是我就自定义了一个拓展的tab。

 拓展类如下:

TabbedDialogExtension 这个类的构造函数有两个参数 一个是wpf usercontrol控件  这个是用于Revit里面选项卡的页面

 

 

还有一个参数是一个委托,用于用户点击OK按钮后执行的方法,还可以设置用户点击恢复默认、取消按钮后的事件处理

以下是我自定义的拓展tab

[Transaction(TransactionMode.Manual)]
    public class OptionDialogExtension : IExternalApplication
    {
        public Result OnShutdown(UIControlledApplication application)
        {
            return Result.Succeeded;
        }

        public Result OnStartup(UIControlledApplication application)
        {
            ExtendTab m_extendTab = new ExtendTab();
            TabbedDialogAction m_onOK = new TabbedDialogAction(() =>
            {
                // to do someting on click OK button
                TaskDialog.Show("Hello", "HelloRevit");
            });
            TabbedDialogAction m_OnCancel = new TabbedDialogAction(() =>
            {
                //to do someting on click Cancel button

            });
            TabbedDialogAction m_OnRestoreDefaults = new TabbedDialogAction(() =>
            {
                //to do someting on click Default button

            });
            TabbedDialogExtension m_dialogExtension = new TabbedDialogExtension(m_extendTab, m_onOK)
            {
                OnCancelAction = m_OnCancel,
                OnRestoreDefaultsAction = m_OnRestoreDefaults
            };
            application.DisplayingOptionsDialog += (sender, args) =>
            {
                args.AddTab("HelloRevit",m_dialogExtension);
                
            };
            return Result.Succeeded;
        }
    }

 

posted @   热情定无变  阅读(183)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
主题色彩
点击右上角即可分享
微信分享提示