/// <summary> /// Bind to combobox's DropDownOpened Event, add new levels that created by user. /// </summary> /// <param name="evnetArgs">Autodesk.Revit.UI.Events.ComboBoxDropDownOpenedEventArgs</param> public void AddNewLevels(object sender, ComboBoxDropDownOpenedEventArgs args) { Autodesk.Revit.UI.ComboBox comboboxLevel = sender as Autodesk.Revit.UI.ComboBox; if (null == comboboxLevel) { return; } FilteredElementCollector collector = new FilteredElementCollector(uiApplication.ActiveUIDocument.Document); ICollection <Element> founds = collector.OfClass(typeof(Level)).ToElements(); foreach (Element elem in founds) { Level level = elem as Level; bool alreadyContained = false; foreach (ComboBoxMember comboboxMember in comboboxLevel.GetItems()) { if (comboboxMember.Name == level.Name) { alreadyContained = true; } } if (!alreadyContained) { ComboBoxMemberData comboBoxMemberData = new ComboBoxMemberData(level.Name, level.Name); ComboBoxMember comboboxMember = comboboxLevel.AddItem(comboBoxMemberData); comboboxMember.Image = new BitmapImage(new Uri(Path.Combine(ButtonIconsFolder, "LevelsSelector.png"), UriKind.Absolute)); } } }
/// <summary> /// Bind to combobox's DropDownOpened Event, add new levels that created by user. /// </summary> /// <param name="evnetArgs">Autodesk.Revit.UI.Events.ComboBoxDropDownOpenedEventArgs</param> public void AddNewLevels(object sender, ComboBoxDropDownOpenedEventArgs args) { Autodesk.Revit.UI.ComboBox comboboxLevel = sender as Autodesk.Revit.UI.ComboBox; if (null == comboboxLevel) { return; } FilteredElementCollector collector = new FilteredElementCollector(uiApplication.ActiveUIDocument.Document); ICollection<Element> founds = collector.OfClass(typeof(Level)).ToElements(); foreach (Element elem in founds) { Level level = elem as Level; bool alreadyContained = false; foreach (ComboBoxMember comboboxMember in comboboxLevel.GetItems()) { if (comboboxMember.Name == level.Name) { alreadyContained = true; } } if (!alreadyContained) { ComboBoxMemberData comboBoxMemberData = new ComboBoxMemberData(level.Name, level.Name); ComboBoxMember comboboxMember = comboboxLevel.AddItem(comboBoxMemberData); comboboxMember.Image = new BitmapImage(new Uri(Path.Combine(ButtonIconsFolder, "LevelsSelector.png"), UriKind.Absolute)); } } }