是否可以使用c#/ xaml windows 8 metro应用程序中的共享合同一次(同一时间)共享HTML内容和图像?

时间:2013-12-06 11:48:26

标签: xaml windows-8 microsoft-metro

我正在开发一个Windows 8 metro应用程序,我在其中分享来自Windows 8 Metro App的HTML内容。

我想在c#/ xaml windows 8 metro app中使用共享合同同时共享HTML内容和图像

  protected override bool GetShareContent(DataRequest request)
        {
            bool succeeded = false;


                DataPackage requestData = request.Data;
               requestData.Properties.Title = TitleInputBox.Text;
                requestData.Properties.Description = DescriptionInputBox.Text;

//Sharing Images

           List<IStorageItem> imageItems = new List<IStorageItem>();
           imageItems.Add(this.imageFile);
           imageItems.Add(this.imageFile);
           imageItems.Add(this.imageFile);
           requestData.SetStorageItems(imageItems);

//Sharing HTML Content

           requestData.Properties.Title = "A web snippet for you";
           requestData.Properties.Description = "HTML selection from a WebView control";
           requestData.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat("<h1>This
           is test</h1><br></br>checking it"));



             return succeeded;
         }

在上面的代码中,如果我想尝试同时共享html内容和图像。

但是,默认情况下它只采用第一个(图像或html内容将首先放置),它无法同时共享两者。

我能够同时共享图像或html内容,但不能同时共享???

1)如何在Windows 8 metro应用程序中使用共享合同同时共享Html内容和图像?

2)我可以同时分享这两种方式的各种可用方式是什么?

期待您的回复

请让我知道

1 个答案:

答案 0 :(得分:0)

Windows 8中的共享方式是,您应该使用对您的应用程序有意义的所有不同类型的数据填充DataPackage,以及您可以使用的数据(在本例中为Html和存储项)。

然后,Windows 8向用户显示任何已注册的应用程序,以接收至少一种数据包中的数据类型。因此,显示的应用程序可能正在注册您共享的其中一种数据类型,而不是另一种。

如果接收应用程序收到它支持的多种类型,那么完全取决于接收应用程序该做什么。有时候应用程序使用两者都是有意义的,有时它可能会为它的数据提供某种优先级堆栈。

总的来说,你在发送两种形式的数据时都尽力而为,但最终完全取决于接收应用程序对数据的作用。