Получить текст из электронной почты Outlook [Drag’n’Drop]

Я работаю с WPF и пытаюсь создать текстовое поле перетаскивания.
В этом текстовом поле я хочу получить текст сообщения электронной почты, которое я перетаскиваю из Outlook.
Код работает, но я думаю, мне нужно что-то «сбросить» ActiveExplorer, потому что теперь он показывает только последнее «НОВОЕ» письмо, которое я перетаскиваю в текстовое поле.

Пример:

Перетащите электронное письмо 1 -> Текстовое поле - покажет электронное письмо 1

Перетащите электронное письмо 2 -> Текстовое поле - покажет электронное письмо 2

Перетащите электронное письмо 1 -> Текстовое поле - покажет электронное письмо 2, а электронное письмо 1 не будет отображается, потому что он уже существует в ActiveExplorer, и он покажет адрес электронной почты 2.


Надеюсь, мой вопрос немного понятен вам ..
Заранее спасибо!

Код XAML:

    <TextBox 
    Name="myTextbox"  
    AllowDrop="True" 
    PreviewDragEnter="email_DragEnter"
    PreviewDrop="email_Drop" />

Код XAML позади:

    private void email_DragEnter(object sender, DragEventArgs e)
    {
        e.Effect = DragDropEffects.Copy;
    }

    private void email_Drop(object sender, DragEventArgs e)
    {
        Outlook.ApplicationClass oApp = new Outlook.ApplicationClass();
        Outlook.Explorer oExplorer = oApp.ActiveExplorer();
        Outlook.Selection oSelection = oExplorer.Selection;

        foreach (object item in oSelection)
        {
            Outlook.MailItem mi = (Outlook.MailItem)item;
            myTextbox.Text = mi.Body.ToString();
        }
    }
9
задан Gregoire 1 March 2017 в 09:44
поделиться