我正在开发一个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)我可以同时分享这两种方式的各种可用方式是什么?
期待您的回复
请让我知道
答案 0 :(得分:0)
Windows 8中的共享方式是,您应该使用对您的应用程序有意义的所有不同类型的数据填充DataPackage,以及您可以使用的数据(在本例中为Html和存储项)。
然后,Windows 8向用户显示任何已注册的应用程序,以接收至少一种数据包中的数据类型。因此,显示的应用程序可能正在注册您共享的其中一种数据类型,而不是另一种。如果接收应用程序收到它支持的多种类型,那么完全取决于接收应用程序该做什么。有时候应用程序使用两者都是有意义的,有时它可能会为它的数据提供某种优先级堆栈。
总的来说,你在发送两种形式的数据时都尽力而为,但最终完全取决于接收应用程序对数据的作用。