У меня есть настраиваемая панель для писем в Outlook 2013 с использованием VSTO. В нем перечислены вложения в виде ListView
и позволяет конверсионные операции должны выполняться на привязанностей:Как показать предварительный просмотр вложений электронной почты Outlook для указанного приложения
Пользователь может нормально нажать на вложение, чтобы получить панель предварительного просмотра для выбранного приложения. Мне нужно дублировать это действие предварительного просмотра, когда соответствующее вложение выбрано в my ListView. Это позволит им выбрать одно вложение, просмотреть предварительный просмотр, затем выбрать тип документа (ID doc, CV и т. Д.), Не переходя туда и обратно между моей настраиваемой панелью и обычным списком вложений.
У меня есть различные термины, но это кажется слишком неясным, чтобы найти. Я надеюсь, что есть эксперт VSTO Outlook 2013, который будет знать, с чего начать. Отправной точкой является Inspector.AttachmentSelection
, но это только для чтения.
My C# обработчик изменения выбора показан ниже (все проверка ошибок удалены, чтобы упростить его):
private void listview_SelectedIndexChanged(object(sender, EventArgs e)
{
ListView listView = sender as ListView;
ListViewItem listViewItem = listView.SelectedItems[0];
Attachment attachment = lvi.Tag as Attachment;
Inspector inspector = Globals.ThisAddIn.Application.ActiveInspector();
// How to preview the attachment in the inspector???
}
Update:
Как запасной вариант, я могу пойти в другую сторону, путем обнаружения события Inspector.AttachmentSelectionChange
, как показано ниже, и выбора элементов в моем ListView
, но я предпочел бы, чтобы иметь возможность выбирать вложения из моего ListView
, и это приводит к изменению AttachmentSelection
:
void inspector_AttachmentSelectionChange()
{
this.attachmentListView.SelectedItems.Clear();
foreach (Attachment selection in this.Inspector.AttachmentSelection)
{
foreach (ListViewItem item in this.attachmentListView.Items)
{
if (item.Tag as Attachment == selection)
{
item.Selected = true;
}
}
}
}
Хотя у меня есть большой опыт автоматизации сообщений Windows, чтобы имитировать взаимодействия, «конкретный» дескриптор окна не является конкретным, а имя класса «AfxWndW» является общим среди других элементов управления в Outlook. Спасибо, в любом случае. –
Я почти уверен, что вы можете пройти через стек стека из некоторых известных оконных ручек в Outlook, чтобы добраться до этого конкретного подзаголовка - я сделал это раньше, чтобы выдать нажатия клавиш «SuperGrid». –