VSTO Outlook до изменения элемента или предыдущего состояния элемента - PullRequest
3 голосов
/ 25 сентября 2011

Я занимаюсь разработкой визуальной студии VSTO, добавляю и отслеживаю измененные элементы событий для почты, контактов, задач и пунктов назначения. Это я сделал с помощью следующего

  //subsrribe to task events
        taskItems = Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderTasks).Items;                
        taskItems.ItemChange += new Outlook.ItemsEvents_ItemChangeEventHandler(TaskItems_ItemChange);
        taskItems.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(TaskItems_ItemAdd);

        appointmentItems = Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar).Items;
        appointmentItems.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(appointmentItems_ItemAdd);

        //Added back as itemchanged requested
        appointmentItems.ItemChange += new Outlook.ItemsEvents_ItemChangeEventHandler(appointmentItems_ItemChange);

        contacts = Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts).Items;
        contacts.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(contacts_ItemAdd);
        contacts.ItemChange += new Outlook.ItemsEvents_ItemChangeEventHandler(contacts_ItemChange);

Мне нужно иметь возможность сохранить предыдущее состояние измененного элемента, но в описанных выше обработчиках событий все, что я получаю, это элемент, который изменился. В идеале мне требуется событие перед изменением элемента или, в качестве альтернативы, способ отслеживания элемента, который пользователь выбирает в outlook, а затем сохранение требуемого состояния свойства (например, категории), после чего я могу получить к нему доступ в измененном обработчике события. .

...