最近在查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;
}
}
标签:do,选项卡,TabbedDialogAction,Result,二次开发,new,Revit From: https://www.cnblogs.com/youngala/p/16365058.html