Revit API: DockablePane 简介(详情查看 SDK DockableDialogs)

简介

如何在 Revit 里面用 API 实现一个类似 “属性” 和项目浏览器的可停靠窗口?
在这里插入图片描述
左边为系统的可停靠窗口,右边是自定义的可停靠窗口。

实现

非必须用 IExternalApplication,可以看自己的需求,代码摘自官方文档。
要做一个自定义可停靠窗口,入口在UIControlledApplication.RegisterDockablePane

	public class ExternalApp : IExternalApplication
	{
		public Result OnShutdown(UIControlledApplication application)
		{
			return Result.Succeeded;
		}
	
		public Result OnStartup(UIControlledApplication application)
		{
			// Create our pane provider and register it with the application
			PaneProvider prov = new PaneProvider();
			DockablePaneId id = new DockablePaneId(Guid.NewGuid());
			application.RegisterDockablePane(id, "test", prov);
	
			return Result.Succeeded;
		}
	}

PaneProvider 为用户自定义,可以在其中设置可停靠窗口的内容。
这里的 Page 即是 System.Windows.Controls.Page,即微软 WPF 类库成员。

    // 
    // Provider class called by Revit to provide information about the pane
    // to embed.
    // 
    public class PaneProvider : IDockablePaneProvider
    {
        public void SetupDockablePane(DockablePaneProviderData data)
        {
            Page page = new Page();
            data.FrameworkElement = new Page();
        }
    }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客BIM工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值