gpt4 book ai didi

windows-8 - 使用共享魅力以编程方式将文件附加到 Windows Metro 应用程序 C#/XAML 中的电子邮件时遇到问题

转载 作者:行者123 更新时间:2023-12-02 23:53:31 24 4
gpt4 key购买 nike

我只是尝试使用共享 super 按钮将 DocumentsLibrary 中名为 Document.pdf 的文件附加到电子邮件中。我的下面的代码在本地计算机上完美运行:

    private async void OnDataRequestedFiles(DataTransferManager sender, DataRequestedEventArgs e)
{
List<IStorageItem> shares = new List<IStorageItem>();
StorageFile filetoShare = await Windows.Storage.KnownFolders.DocumentsLibrary.GetFileAsync("Document.pdf");

if (filetoShare != null)
{
shares.Add(filetoShare);
filetoShare = null;
}

if (shares != null)
{
DataPackage requestData = e.Request.Data;
requestData.Properties.Title = "Title";
requestData.Properties.Description = "Description"; // The description is optional.
requestData.SetStorageItems(shares);
shares = null;

}
else
{
e.Request.FailWithDisplayText("File not Found.");
}
}

但是当我在 Windows Surface 平板电脑上运行完全相同的代码时,我在 super 按钮右侧看到可怕的“现在没有什么可以分享。”弹出区域。

这里有更多背景知识可以提供帮助:

  • 不想使用文件选择器...我知道我要查找的确切文件
  • 我已在 list 中启用文档库功能
  • 我已在 list 中添加了 pdf 文件类型关联
  • 是的,该文件确实存在并且位于文档库中
  • 已在 Surface 上的邮件应用程序中正确设置电子邮件帐户
  • 我可以从平板电脑成功发送文本电子邮件...但不能发送带有附件的电子邮件

就像我说的,这在我的 Win 8 开发机上按预期工作......只是在 Surface 上不行。我想知道 Surface 是否具有不同的文件或文件夹权限?

感谢您的帮助...这让我发疯

最佳答案

我终于想通了 - 问题是我的事件处理程序是异步(这样我就可以使用await来设置StorageFile变量)。

我通过在代码前面设置 StorageFile 变量解决了这个问题,以便在调用事件处理程序时它已经可用。

我仍然不知道为什么它在我的开发机器上有效,但在 WinRT 表面上不起作用......

关于windows-8 - 使用共享魅力以编程方式将文件附加到 Windows Metro 应用程序 C#/XAML 中的电子邮件时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13372983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com