Открытие пользовательского файла справки при нажатии F1 в кнопке на ленте
Для открытия вашего собственного файла справки (файл .chm), при нажатии на кнопку F1 в момент выделения кнопки на ленте, нужно воспользоваться классом ContextualHelp. ContextualHelp позволяет открыть файл справки, находящемся на локальной машине пользователя, или перейти по внешней ссылке для отображения справки по работе с вашей надстройкой.
Класс ContextualHelp используется для создания типа контекстной справки и для указания источника справки. Затем, этот источник необходимо привязать к конкретной кнопке на ленте, с помощью метода RibbonItem.SetContextualHelp() или RibbonItemData.SetContextualHelp().
Когда контекстная справка связана с кнопкой, то во всплывающей подсказке к кнопке появится надпись: "Нажимете F1 для получения дополнительной справки", как на скриншоте:
При нажатии на F1 соответственно откроется файл справки, который вы указали.
Пример кода:
- public Result OnStartup(UIControlledApplication a)
- {
- PushButtonData pushButtonData = new PushButtonData("ADN-CIS",
- "ADN-CIS пример открытия файла справки",
- Assembly.GetExecutingAssembly().Location,
- "ContextualHelpTest.Command");
- var panel = a.CreateRibbonPanel("ADN-CIS");
- PushButton pushButton = panel.AddItem(pushButtonData) as PushButton;
- pushButton.SetContextualHelp(new ContextualHelp(ContextualHelpType.ChmFile, @"D:\Temp\adn-cis.org.chm"));
- return Result.Succeeded;
- }
В оригинале статьи был задан вопрос, что если файл справки имеет формат pdf? Можно ли его использовать в качестве файла контекстной справки? Как выяснилось, можно указать любой тип файл в качестве файла справки. Файл будет открыт в приложении по умолчанию для этого типа файла.
Источник: http://adndevblog.typepad.com/aec/2014/03/opening-a-custom-chm-file-from-ribbon-button-in-revit.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=822
Опубликовано 24.06.2014