11. Revit API UI 补充

11. Revit API UI 补充

UI篇我也只写了主要的,部分关联的没有写。

以前发的又不想去改,这里就做一些补充吧。


一、可停靠窗口补充

在可停靠窗口那篇,提到要实现IDockablePageProvider接口,就略过了。

该接口要求实现一个方法。

c 复制代码
public void SetupDockablePane(DockablePaneProviderData data)
{
    data.FrameworkElement = this;
    data.InitialState = new DockablePaneState
    {
        DockPosition = DockPosition.Tabbed,
        TabBehind = DockablePanes.BuiltInDockablePanes.ProjectBrowser
    };
}

方法的参数DockablePaneProviderData,data的属性有几个UI命名空间下其它雷雨接口,我就不讲了,没看懂。

主要会使用到的,就是DockablePaneState了,这里定义了窗体停靠的位置和方式。

前面讲来自Window的窗体作为可停靠窗口时,会一片漆黑,这或许可以通过IFrameworkElementCreator来解决。


二、其它未涉及到的类与接口

这里记录下没有涉及到的,或没有去仔细了解的类与接口

类:

  • UIThemeManager:获取主题,做跟随系统主题的界面时有用。

  • FilterDialog:这个本该在Dialog那篇写的,但是那会儿没看到😑。就是打开下面这玩意儿。

  • PromptForFamilyInstancePlacementOptions:放置族实例的行为的参数,估计在什么方法里用到了,插眼。

  • FamilyInstancePlacingArgs:没能检索到用使用的地方,跳过。

  • RevitLinkUIUtils:就1个方法,查看加载情况,不知道哪里用了,跳过。

  • ThinLinesOptions:看不懂在说什么,跳过。

  • UIFabricationUtils:看不懂在说什么,跳过。

接口:

  • IControllableDropHandlerIDropHandler:不想试,不想写,看Drag and Drop API
  • IExternalResourceUIServer:什么外部资源视图服务,边儿去。

枚举:

枚举用到了看看就行了。


结尾

今天写了好几篇,累了,不想动。

后面,先把Autodesk.Revit.UI.Selection过一遍,再写DB篇的Document,这里可能会讲Events,到需要创建一些模型时,再讲Autodesk.Revit.Creation,讲完后再回到DB。

内容应该会限定在DB,DB下各种专业的就不写了,不懂,不会,也没接触到。

至于学不学,学个锤子,我连建模都不会,等我哪天心血来潮,跑去学会用Blender了再说吧。

相关推荐
xuhaoyu_cpp_java2 小时前
MySql学习(四)
数据库·经验分享·笔记·sql·学习·mysql
鸿儒5172 小时前
中医学习首篇笔记
笔记·学习·中医
三品吉他手会点灯2 小时前
STM32F103 学习笔记-21-串口通信(第4节)—串口发送和接收代码讲解(上)
笔记·stm32·单片机·嵌入式硬件·学习
qingwufeiyang_5302 小时前
Mybatis-plus学习笔记1
笔记·学习·mybatis
Sophie_U3 小时前
【Agent开发速成笔记】一、从0到1基础Python学习
笔记·python·学习·agent·智能体
半壶清水3 小时前
[软考网规考点笔记]-局域网之VLAN
网络·笔记·网络协议·tcp/ip
数据皮皮侠AI3 小时前
顶刊同款!中国地级市风灾风险与损失数据集(2000-2022)|灾害 / 环境 / 经济研究必备
大数据·人工智能·笔记·能源·1024程序员节
墨^O^3 小时前
C++ Memory Order 完全指南:从 relaxed 到 seq_cst,深入理解无锁编程与 happens-before
linux·开发语言·c++·笔记·学习·算法·缓存
玄米乌龙茶1234 小时前
Web Search API 实操:构建智能搜索 Agent
人工智能·笔记·学习
XS0301064 小时前
Java基础笔记(一)
java·笔记·python