我正在使用WPF,我正在嘗試使拖放文本框變爲拖動狀態。
在這個文本框中,我想獲得從Outlook拖動的電子郵件的正文。
該代碼有效,但我認爲我需要一些「重置」ActiveExplorer的原因,現在它只顯示最後一個「新」電子郵件,我拖入文本框。從Outlook電子郵件獲取正文[Drag'n'Drop]
實施例:
將電子郵件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();
}
}
這工作正常,但是如何獲得1封電子郵件?那麼只有最後一個郵件被拖動了? – jefsmi
對不起,我不知道我的理解正確,但如果我拖動一個項目,我只看到它的文本。如果我選擇多個文本,它們的所有文本都會顯示爲richtextbox1 –
並按以下順序拖動:郵件1 - >清除文本框後拖動其他郵件 - >清除文本框之後再拖動郵件1,然後再顯示第二個拖動郵件而不是郵件1 – jefsmi