C# VirtualFileDataObject实现不适用于Outlook 365

C# VirtualFileDataObject实现不适用于Outlook 365,c#,wpf,outlook,drag-and-drop,idataobject,C#,Wpf,Outlook,Drag And Drop,Idataobject,我遵循了我发现的例子。它实现IDataObject接口以创建“虚拟文件”数据对象。当将虚拟文件从WPF应用程序d/d到文件系统和outlook电子邮件(文件附加到电子邮件)时,该实现工作得非常好。我最近更新了Outlook 365,但它突然停止工作,调试代码表明该进程实际上执行了下载文件的功能,但这些文件从未在电子邮件中显示为附件 有人知道在365年outlook处理d/d的方式是否改变了吗?请给我任何提示 可以找到VirtualFileDataObject类的代码 这是使用检索虚拟文件的函数设

我遵循了我发现的例子。它实现IDataObject接口以创建“虚拟文件”数据对象。当将虚拟文件从WPF应用程序d/d到文件系统和outlook电子邮件(文件附加到电子邮件)时,该实现工作得非常好。我最近更新了Outlook 365,但它突然停止工作,调试代码表明该进程实际上执行了下载文件的功能,但这些文件从未在电子邮件中显示为附件

有人知道在365年outlook处理d/d的方式是否改变了吗?请给我任何提示

可以找到VirtualFileDataObject类的代码

这是使用检索虚拟文件的函数设置FileDescriptor列表的代码:

VirtualFileDataObject.FileDescriptor[] files = new VirtualFileDataObject.FileDescriptor[myItems.Count];
        for (int i = 0; i < myItems.Count; i++)
        {
            var name = myItems[i].ItemName;
            files.SetValue(
            new VirtualFileDataObject.FileDescriptor
            {
                Name = name,
                StreamContents = stream =>
                {
                    try
                    {
                        using (var webClient = new WebClient())
                        {
                            var data = webClient.DownloadData(myItems[i].Url);
                            stream.Write(data, 0, data.Length);
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show($"File '{name}' could not be copied.\n{ex.Message}", "Drag and Drop", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
            }, i);
        }
        virtualFileDataObject.SetData(files);
VirtualFileDataObject.FileDescriptor[]files=新的VirtualFileDataObject.FileDescriptor[myItems.Count];
对于(int i=0;i
{
尝试
{
使用(var webClient=new webClient())
{
var data=webClient.DownloadData(myItems[i].Url);
stream.Write(数据,0,数据长度);
}
}
捕获(例外情况除外)
{
MessageBox.Show($“文件{name}”无法复制。\n{ex.Message}”,“拖放”,MessageBoxButton.OK,MessageBoxImage.Error);
}
}
},i);
}
virtualFileDataObject.SetData(文件);

此问题仅在Outlook 365 2004版中出现。将Office 365更新为以下版本后,问题完全消失