Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: Alex25 от 25-09-2020, 18:48:22

Название: Обновить DockablePane, не закрывая Revit
Отправлено: Alex25 от 25-09-2020, 18:48:22
Добрый день. Я использую  DockablePane для динамического обновления кнопок на нем. Создаю окно MainWindow (UserControl) и в конструкторе прохожусь по каждой строчке Excel , создавая, кнопку для каждой строки в Excel. К каждой кнопке буду привязывать команду, чтобы запустить  определенную dll. При каждом клике на кнопку вызывается окно с нужным количеством чилдренов в стекпенели, но вид не меняется, причем если перезапустить Revit- меняется. Я знаю , что кнопки на RibbonPanel нельзя добавить , поэтому выбрал DockablePane.
Подскажите:
1. Как динамически обновить кнопки для DockablePane ?
2. Как в дальнейшем запускать dll по нажатию на одну из этих кнопок ?( BindingOperations.SetBinding(button, Button.CommandProperty, binding);)
(https://i.postimg.cc/w7yRyZ1T/11.png) (https://postimg.cc/w7yRyZ1T)
Название: Re: Обновить DockablePane, не закрывая Revit
Отправлено: RevitTormentor от 27-09-2020, 11:58:43
Я знаю , что кнопки на RibbonPanel нельзя добавить ,
Почему нельзя добавить?

Вроде кнопки в Ревите и есть Ribbon
Название: Re: Обновить DockablePane, не закрывая Revit
Отправлено: Alex25 от 27-09-2020, 17:28:44
Я знаю , что кнопки на RibbonPanel нельзя добавить ,
Почему нельзя добавить?

Вроде кнопки в Ревите и есть Ribbon
Я хочу добавить кнопку на панель без закрытия ревит
Название: Re: Обновить DockablePane, не закрывая Revit
Отправлено: RevitTormentor от 27-09-2020, 17:43:26
Если речь про обновление кнопок после старта Ревита, могу ошибаться, но задача по-моему обречена.
Кнопки вроде создаются в момент запуска плагина.
Название: Re: Обновить DockablePane, не закрывая Revit
Отправлено: RevitTormentor от 27-09-2020, 17:45:37
Кнопки именно в Риббон панели я имею ввиду. Где стандартное меню у Ревита.
Если своя панель в виде отдельного окна, то надо реализовывать интерфейс InotifyPropertyChange.
Или загружать в своей панели все кнопки и скрывать или отображать нужные/ненужные
Название: Re: Обновить DockablePane, не закрывая Revit
Отправлено: Alex25 от 27-09-2020, 17:54:45
Я и перешёл на dockable pane ( в которой  вставил usercontrol), чтобы добавлять кнопки , не закрывая ревит, потому что на ribbon - это не работает. Хочу сделать одну кнопку на ribbon, которая открывает dockable pane с моими кнопками. На каждую кнопку привязана dll с плагином. Идея в том , что появился новый плагин или обновил dll и на dockable pane появилась новая кнопка так , как на ribbon я не могу это сделать. Я думаю большие компании специально используют dockable pane , чтобы через интернет обновлять ленту своих плагинов без закрытия ревит.
Название: Re: Обновить DockablePane, не закрывая Revit
Отправлено: RevitTormentor от 27-09-2020, 18:06:39
Изменил сообщение. Просмотрел ещё раз картинки. По другому понял в чём вопрос. Ответа не знаю.



Название: Re: Обновить DockablePane, не закрывая Revit
Отправлено: Александр Игнатович от 08-10-2020, 12:08:29
Посмотри WPF+MVVM, как раз для таких вещей создан, модель триггерит событие добавления/обновления Item-ов, у Item-а есть команда, которую может запускать button из UI