Добавление Stacked Split Button на ленту
Не решился переводить Stacked Split Button. Stacked Items – Элементы на ленте, расположенные в столбец. Split Button – кнопка, которая имеет подпункты в раскрывающемся списке, при этом на саму кнопку тоже можно назначить действия.
Вопрос: На текущий момент, Split Button нельзя создать с помощью метода AddStackedItems. Можно только PushButton, PullButton, ComboBox и TextBox. Можно как-то обойти это ограничение? Хочу получить в итоге что то типа такого:
Я уже на самом деле обошел это ограничение используя библиотеку AdWindows.dll, но мне интересно, эта возможность нарочно отсутсует в RevitAPI.dll или нет.
Ответ: Эта проблема уже давно была отмечена под номером REVIT-71373 Как разработчик, я хочу уметь добавлять Split Button в Stacked Items. Так что в будущем такая возможность обязательно появится.
Ответ: Спасибо.
Вот моя реализация обходного пути, с помощью неподдерживаемой сборки AdWindows.dll:
- var bd0 = new PulldownButtonData( "A", "A" );
- var bd1 = new PulldownButtonData( "B", "B" );
- var bd2 = new PulldownButtonData( "C", "C" );
- var stackedItems = ribbonPanel.AddStackedItems(
- bd0, bd1, bd2 );
- var button0 = (PulldownButton) stackedItems[0];
- string sid = string.Join(
- "%",
- "CustomCtrl_",
- "CustomCtrl_",
- ribbonTabName,
- ribbonPanel.Name,
- button0.Name );
- var splitButton = (Autodesk.Windows.RibbonSplitButton)
- UIFramework.RevitRibbonControl.RibbonControl
- .findRibbonItemById( sid );
- splitButton.IsSplit = true;
- splitButton.IsSynchronizedWithCurrentItem = true;
Пока это самое оптимальное решение, которое мне известно.
Источник: http://thebuildingcoder.typepad.com/blog/2015/12/adding-a-stacked-split-button-to-the-ribbon.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=
Опубликовано 27.05.2016