Autodesk.Revit.DB.BindingMap类定义了将Revit对象与数据值进行绑定的映射。
BindingMap(): 初始化一个默认的BindingMap实例。Contains(ElementId id): 返回映射中是否存在与指定ID关联的绑定。Contains(KeyValuePair<ElementId, Binding> item): 返回映射中是否存在指定的绑定项。Count: 获取映射中绑定的数量。GetEnumerator(): 返回映射的枚举器。Remove(ElementId id): 从映射中移除与指定ID关联的绑定。Remove(KeyValuePair<ElementId, Binding> item): 从映射中移除指定的绑定项。TryGetValue(ElementId id, out Binding binding): 获取与指定ID关联的绑定,返回获取是否成功的布尔值。this[ElementId id]: 获取或设置与指定ID关联的绑定。如果ID不存在映射中,会抛出ArgumentException异常。// 新建一个BindingMap实例
BindingMap bindingMap = new BindingMap();
// 创建一个绑定
ElementId elementId = new ElementId(123);
Binding binding = new TextNoteTextBinding();
// 将绑定与ID关联,添加到BindingMap中
bindingMap[elementId] = binding;
// 判断ID是否在映射中,并获取绑定
if (bindingMap.TryGetValue(elementId, out Binding foundBinding))
{
// 通过绑定对象调用相应的方法
foundBinding.Converter.ConvertFromInvariantString("text");
}
// 从映射中移除绑定
bindingMap.Remove(elementId);