Я разрабатываю C # VSTO Visio Addin.В надстройке я хочу обнаружить и запустить обработчик события переворачивания страницы, когда пользователь выбирает другую страницу в данном документе.Я видел следующий поток, касающийся регистрации события:
Поймать событие WindowTurnedToPage в проекте Visio AddIn
Копирование этой логики Я попробовал следующее в ThisAddIn.cs:
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
Application.ActiveWindow.WindowTurnedToPage += new Visio.EWindow_WindowTurnedToPageEventHandler( Window_WindowTurnedToPage);
}
public void Window_WindowTurnedToPage(Visio.Window Window)
{
Debug.WriteLine(String.Format("Window changed to {0}", Window.Application.ActivePage.Name ));
}
Однако, когда я пытаюсь зарегистрировать обработчик событий как часть в вызове ThisAddin_Startup, я получаю NPE, потому что «ActiveWindow» не было установлено.Похоже, что существует проблема синхронизации между регистрацией обработчика события и регистрируемым Document / ActivePage.
Итак, я хочу, чтобы мой Visio Adddin обнаруживал и отвечал на пользовательское событие, когда активная страница в загруженном документе изменяется.
Любая помощь будет принята с благодарностью.
Спасибо и всего наилучшего, Андрей