我正在使用WPF,我正在尝试制作一个拖放文本框.
在这个文本框中,我想获取一个我从outlook中拖出的电子邮件的正文.
代码有效,但我认为我需要一些东西来"重置"ActiveExplorer,因为它现在只显示我拖到文本框中的最后一个"新"电子邮件.
例:
拖动电子邮件1 - >文本框 - 显示电子邮件1
拖动电子邮件2 - >文本框 - 显示电子邮件2
拖动电子邮件1 - >文本框 - 显示电子邮件2和电子邮件1将不会显示,因为它已存在于ActiveExplorer中,它将显示电子邮件2.
希望我的问题对你有点清楚..
在此先感谢!
XAML代码:
<TextBox
Name="myTextbox"
AllowDrop="True"
PreviewDragEnter="email_DragEnter"
PreviewDrop="email_Drop" />
Run Code Online (Sandbox Code Playgroud)
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();
}
}
Run Code Online (Sandbox Code Playgroud) 我希望能够将Outlook消息拖放到浏览器中并触发Javascript事件,例如,使用消息的GUID 创建消息的链接.
但我陷入了第一步 - 尝试在文件夹列表外的任何位置拖动Outlook邮件显示不允许的游标.
我正要放弃,除了我发现一些帖子建议启用操作的方法,例如 如何将电子邮件从Outlook拖放到.NET应用程序中?
有没有办法让这成为可能?(包括编写浏览器扩展,但并不理想.)