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

ADN Club => AutoCAD .NET API => Тема начата: MikhailTAP от 21-07-2016, 09:17:43

Название: Ribbon WPF
Отправлено: MikhailTAP от 21-07-2016, 09:17:43
Добрый день!
Возник вопрос относительно создания ленты из плагина. До настоящего момента использовался заранее заготовленный *.CUIX файл. Но данный подход не устраивает по ряду причин:
1. Отсутствие возможности сразу видеть результат наполнения;
2. Невозможно (скорее заморочно) блокировать отдельные кнопки/панели на ленте;
3. Если есть необходимость в каких-то вариантах плагина исключать часть кнопок. Без создания отдельного CUIX это невозможно.

В сети есть примеры для 2 подходов: через вышеописанный CUIX, либо без code-behind создавать каждый элемент панели. Однако создание ленты через описание в разметке(XAML) ничего найти не удалось, кроме как упоминания что такой существует.

Есть ли у кого пример, или ссылка на пример использования XAML разметки для создания и заполнения ленты?
Название: Re: Ribbon WPF
Отправлено: Александр Ривилис от 21-07-2016, 12:22:47
Только один xaml без cuix не получится. Самый крутой пример использования: http://adndevblog.typepad.com/autocad/2012/06/autocad-performance-gauges-app.html
Там есть полные исходники, так что есть что поизучать:

(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fadndevblog.typepad.com%2F.a%2F6a0167607c2431970b016767b7cd40970b-pi&hash=2b6100ec0e6599af83b3306f1edfaa13)

Еще могу предложить поизучать архив веб-конференций: http://adndevblog.typepad.com/autocad/2013/05/api-webcast-archive.html
Особенно:
http://download.autodesk.com/media/adn/ACAD_Using_WPF_in_your_applications_02June2009.zip
http://download.autodesk.com/media/adn/ACAD_Using_WPF_in_your_applications_14July2009.zip (здесь про Ribbon)
Название: Re: Ribbon WPF
Отправлено: MikhailTAP от 21-07-2016, 12:45:27
Спасибо большое, Александр! Буду изучать.
Название: Re: Ribbon WPF
Отправлено: Александр Пекшев aka Modis от 22-07-2016, 00:02:45
Самый крутой пример использования
К сожалению, в том примере есть маленькая проблема - чтобы он работал, нужно обязательно использовать  App bundle. Как заставить этот пример работать чисто только "на коде" - я так и не понял. Хотя, я и не очень глубоко разбирался
Название: Re: Ribbon WPF
Отправлено: Александр Ривилис от 22-07-2016, 00:44:43
Как заставить этот пример работать чисто только "на коде" - я так и не понял. Хотя, я и не очень глубоко разбирался
Как я понимаю там требуется регистрация в реестре по такому типу:
Код - INI [Выбрать]
  1. [HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\RXX.X\ACAD-YYYY:ZZZ\RibbonControls]
  2. "Name"="pack://application:,,,/имя_dll_файла;component/имя_xaml_файла.xaml"
Ну и этот RibbonControl должен быть использован в CUIX.
P.S.: Лично мне кажется, что нужно или использовать чистый CUIX, или просто программировать используя Ribbon API.