【问题标题】:Using Windows 8 Store App Share Contract使用 Windows 8 应用商店应用共享合同
【发布时间】:2012-11-22 13:51:38
【问题描述】:

据我了解 Windows 8 的共享合同,当我在共享合同中提供一些信息时,我应该会看到所有能够使用该信息的已安装应用程序。我有以下代码:

request.Data.SetText(myString);

但是,当我选择共享时,我只看到了邮件应用程序。我追求的是一种从我的应用程序启动工作处理器(例如 MS Word)的方法。我还需要做些什么来将我共享的数据标记为与 Word“兼容”吗?还是因为 Word 是桌面应用程序而无法做到这一点?

【问题讨论】:

    标签: windows-8 windows-runtime windows-store-apps


    【解决方案1】:

    您不能使用共享合同将数据从 Windows 应用商店应用程序移动到桌面应用程序。如果您查看共享和交换数据 - http://msdn.microsoft.com/en-us/library/windows/apps/hh464923.aspx - 它指出,“剪贴板与共享相比的一个优势是,它是将数据从 Windows 应用商店应用程序移动到桌面的唯一方法,反之亦然反之亦然。”

    【讨论】:

      【解决方案2】:

      确实不能将数据共享到桌面应用,而且目标应用需要将自己注册为共享目标才能共享工作。

      尽管您提到您想启动 Word。如果您有需要打开的 Word 文件,则可以使用 Launcher 类:

      var file = await ApplicationData.Current.LocalFolder.GetFileAsync("Test.doc");
      await Launcher.LaunchFileAsync(file);
      

      【讨论】:

      • 是的,但理想情况下我希望能够传递一些文本,所以我必须首先创建 word 文档。
      • @pm_2 不幸的是,我不知道任何现有的库可以让你这样做,就像Open XML SDK 为桌面应用程序所做的那样。手工操作是可能的,但并不容易。也许您可以尝试在应用程序中包含一个空文件作为模板,然后以编程方式对其进行修改以包含您的文本。一个 docx 文件毕竟只是一堆压缩的 XML 文件。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      • 2014-03-10
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多