Email 如果我使用共享合同和共享文件,是否可以在Windows 8 metro应用程序中为邮件应用程序设置主题?

Email 如果我使用共享合同和共享文件,是否可以在Windows 8 metro应用程序中为邮件应用程序设置主题?,email,microsoft-metro,windows-runtime,winrt-xaml,Email,Microsoft Metro,Windows Runtime,Winrt Xaml,首先,我正在将我的windows 8 metro应用程序的内容共享到另一个应用程序(例如Mailto应用程序),因此: 现在我正在使用共享合同向mailto应用程序共享文件,并共享应用程序中的文件 我想知道:- 我可以将主题设置为我正在共享文件的mailto应用程序,作为该mailto应用程序的附件吗?如果可以,请让我知道如何执行此操作 如果没有,请让我知道你的工作是什么 不,目前不可能这样做。到目前为止,这是不可能的 Windows8最近引入了一种称为协议激活的新API。通过协议激活,您可以从

首先,我正在将我的windows 8 metro应用程序的内容共享到另一个应用程序(例如Mailto应用程序),因此:

现在我正在使用共享合同向mailto应用程序共享文件,并共享应用程序中的文件

我想知道:-

  • 我可以将主题设置为我正在共享文件的mailto应用程序,作为该mailto应用程序的附件吗?如果可以,请让我知道如何执行此操作

  • 如果没有,请让我知道你的工作是什么


  • 不,目前不可能这样做。

    到目前为止,这是不可能的

    Windows8最近引入了一种称为协议激活的新API。通过协议激活,您可以从应用程序启动其他windows 8应用程序并传入数据。Microsoft正在开发地图应用程序,您现在可以将信息传递到地图应用程序,如下所示(地图应用程序的URI方案)

    请参阅中的代码演练

    现在,我相信很快,您将看到邮件应用程序的一些自定义参数,您可以使用协议激活从应用程序传递这些参数


    仅我的2美分

    我可能没有正确理解这个问题,但如果您想做的只是能够单击魅力栏上的“共享”按钮,然后选择“邮件”应用程序,并且能够在显示“邮件”应用程序的共享弹出时填充显示的主题行,那么您可以采用以下方法:

    专用DataTransferManager DataTransferManager//班级成员
    //将以下代码块放在需要的地方:
    //注册为共享源
    if(this.dataTransferManager==null)
    {
    this.dataTransferManager=dataTransferManager.GetForCurrentView();
    this.dataTransferManager.DataRequested-=this.OnDataRequested;
    尝试
    {
    this.dataTransferManager.DataRequested+=新类型deventhandler(this.OnDataRequested);
    }
    抓住
    { 
    };
    }
    私有void OnDataRequested(DataTransferManager发送方,DataRequestedEventArgs e)
    {
    数据请求=e.请求;
    DataRequestDeleral deleral=request.getDeleral();
    尝试
    {
    //此属性将设置您的主题行
    //它还将显示在共享飞出(主屏幕正下方)上
    //标题写着“分享”
    request.Data.Properties.Title=GetCustomMailSubjectLine();
    if(string.IsNullOrEmpty(request.Data.Properties.Title))
    {
    request.FailWithDisplayText(“操作失败,请重试”);
    }
    其他的
    {
    //这也将显示在“标题”正下方的共享飞出上
    //上述属性集
    request.Data.Properties.Description=getMyAppsSharedDescription();
    //如果需要异步检索数据,请使用request.Data.SetDataProvider()
    //否则,直接使用request.Data.SetData()(或其他
    //方法(取决于您的需要)
    request.Data.SetDataProvider(StandardDataFormats.Html,RetrieveSharedData);
    }
    }
    最后
    {
    延迟完成();
    }
    }
    专用异步无效检索共享数据(DataProviderRequest请求)
    {
    DataProviderDeleral deleral=request.getDeleral();
    尝试
    {
    //这将设置电子邮件的正文
    SetData(等待GetCustomMailBodyAsync());
    }
    最后
    {
    延迟完成();
    }
    }