Loading

Loading

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 @ 2023-03-20 17:31  热情定无变  阅读(214)  评论(0)    收藏  举报