【发布时间】:2011-12-10 02:01:09
【问题描述】:
我正在使用 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();
}
}
【问题讨论】:
标签: c# wpf drag-and-drop outlook