Как задать RibbonItem.IsChecked при автозагрузке с помощью Bundle?

Автор Тема: Как задать RibbonItem.IsChecked при автозагрузке с помощью Bundle?  (Прочитано 13584 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
А если прописать StartupCommand и в нём выполнять "установку состояния для кнопок ленты"?
Все-таки, очень часто этот метод дает сбой по непонятным причинам. И пользователям приходится выполнять команду инициализации вручную после загрузки Civil 3D. Придется, наверное, воспользоваться этим решением:
Возможны и альтернативные решения (например, через подписку на Applicaton.Idle)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Все-таки, очень часто этот метод дает сбой по непонятным причинам.
Я вспомнил почти анекдот двадцатилетней давности. Мне сообщили, что у одной пользовательницы МАЭСТРО наша программа не работает, при том, что у всех её коллег в той же комнате эта же версия прекрасно работает. Подхожу я к ней и вижу, что действительно команды МАЭСТРО не запускаются. Прошу её перезапустить AutoCAD. И что я вижу? Пока AutoCAD запускается она стучит по клавише ESC. Я спрашиваю её а зачем она это делает? Она отвечает - так он же так быстрее загрузится. Занавес!
P.S.: Объяснение - при запуске AutoCAD загружаются и настраиваются модули МАЭСТРО, проверяется защита и т.д. Нажатие ESC приводит к прерыванию загрузки.
P.S.: Последи за их руками, ведь StartupCommand запускает команду. Вполне возможно что из-за их "шаловливых ручек" она не запускается.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Хороший анекдот :)
Но, к сожалению, это не тот случай. Такое случилось недавно когда я сам запускал Civil на чужом ПК. Я не знаю, что влияет - урезанные права пользователей, особенности локальных политик ПК, особенности архитектуры ПК, какой-то софт или еще что-то. Но метод уже зарекомендовал себя как ненадежный. Добавил ему в помощь Application.Idle, чтобы что-то одно из них гарантированно отрабатывало. Посмотрим, как оно себя на практике покажет.
P.S. Хотя, можно было бы оставить только Application.Idle. Оно всегда раньше срабатывает  :)