FireRequestAction через UII Winform Hosted Control в Unified Service Desk - PullRequest
0 голосов
/ 11 октября 2019

Я работаю в Unified Service Desk 4.1, и у меня есть требование, при котором мне нужно установить SetFocus на инструментальной панели CRM внутри Unified Service Desk после того, как в диалоговом окне стороннего приложения, размещенного в Unified Service Desk, щелкнуло диалоговое окно. Я хочу сделать следующее:

FireRequestAction(new RequestActionEventArgs("CRM Global Manager", "ShowTab", "Dashboard"));

Я написал размещенный элемент управления для стороннего приложения для отображения его в Unified Service Desk. Кроме того, я написал UII Winform Hosted Control, в котором я получаю дескриптор события нажатия диалогового окна следующим образом:

 if (msgBoxButton != null && msgBoxButton.GetSupportedPatterns().Any(p => p.Equals(InvokePattern.Pattern)))
      {
          Automation.AddAutomationEventHandler(
          InvokePattern.InvokedEvent, msgBoxButton, TreeScope.Element,
          DialogButtonHandler = new AutomationEventHandler(MessageBoxButtonHandler));

      }

 private void MessageBoxButtonHandler(object sender, AutomationEventArgs e)
        {
         MessageBox.Show("Dialog Box clicket from UII Winform at : " + DateTime.Now);
         FireRequestAction(new RequestActionEventArgs("CRM Global Manager", "ShowTab", "Dashboard"));
         Automation.RemoveAutomationEventHandler(e.EventId, buttonElement, DialogButtonHandler);        
        }

Я отображаю окно сообщения с диалоговым окном сообщения, которое щелкнуло в следующий раз, простов целях тестирования, что если я смог поймать событие click (которым я являюсь), но по какой-то причине мой FireRequestAction не запускается, а панель мониторинга не фокусируется.

Моя конфигурация Unified Service Desk выглядит следующим образом:

USD Тип компонента: размещенное приложение CCA

Тип размещенного приложения: внешнее размещенное приложение

Адаптер: Использовать адаптер

URI: TestDialogBoxFunctionality (имя сборкиUII Winform Hosted Control)

Тип: TestDialogBoxFunctionality UiiWinformControl (Assembly.ClassName UII Winform Hosted Control)

Внешний URI приложения: DisplayDialogBox.exe (Мое стороннее приложение)

...