/// <summary> /// This method contains the logic to prepare the data which would be shared. /// The Job Details would be prepared in the form of a table which can then be shared through email /// </summary> /// <param name="request"></param> private void DataRequested(DataTransferManager sender, DataRequestedEventArgs args) { DataRequest request = args.Request; request.Data.Properties.Title = "Job Details for " + job.JobNumber + " - " + job.JobId; request.Data.Properties.Description = job.Title; //Create table format using the Job details StringBuilder htmlcontent = new StringBuilder("<p> <Table style=\"font-family:Segoe UI;\""); htmlcontent.Append("<tr> <td> <b> Job Number: </b>" + job.JobNumber + " </td> </tr> "); htmlcontent.Append("<tr> <td> <b> Job ID: </b>" + job.JobId + " </td> </tr> "); htmlcontent.Append("<tr> <td> <b> Title: </b>" + job.Title + " </td> </tr> "); htmlcontent.Append("<tr> <td> <b> Scheduled For: </b>" + job.StartTime + " - " + job.EndTime + " </td> </tr> "); htmlcontent.Append("<tr> <td> <b> Job Status: </b>" + job.Status + "</td> </tr> <tr> <td> </td> </tr>"); htmlcontent.Append("<tr> <td> <b> Customer Address: </b> </td> </tr>"); htmlcontent.Append("<tr> <td> " + job.Customer.Prefix + " " + job.Customer.FirstName + " " + job.Customer.Surname + " </td> </tr>"); htmlcontent.Append("<tr> <td> " + job.Customer.HouseNumberOrName + ", " + job.Customer.Street + " </td> </tr>"); htmlcontent.Append("<tr> <td> " + job.Customer.Town + " </td> </tr>"); htmlcontent.Append("<tr> <td> " + job.Customer.County + " </td> </tr>"); htmlcontent.Append("<tr> <td> " + job.Customer.Postcode + " </td> </tr> <tr> <td> </td> </tr>"); htmlcontent.Append("<tr> <td> <b> Customer Contact: </b> </td> </tr>"); htmlcontent.Append("<tr> <td> " + job.Customer.PrimaryContactNumber + " </td> </tr>"); htmlcontent.Append("<tr> <td> " + job.Customer.AdditionalContactNumber + " </td> </tr>"); htmlcontent.Append("</table> </p>"); request.Data.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(htmlcontent.ToString())); }
// 分享 html 的 Demo private void ShareHtml(DataTransferManager dtm, DataRequestedEventArgs args) { string localImage = "ms-appx:///Assets/StoreLogo.png"; string htmlExample = "<p><b>webabcd</b><img src=\"" + localImage + "\" /></p>"; // 为 html 添加分享所需的必要的标头,以保证可以正常进行 html 的分享操作 string htmlFormat = HtmlFormatHelper.CreateHtmlFormat(htmlExample); DataPackage dataPackage = GetDataPackage(args); dataPackage.SetHtmlFormat(htmlFormat); // 设置本地图像数据(如果需要分享的 html 包含本地图像,则只能通过这种方法分享之) RandomAccessStreamReference streamRef = RandomAccessStreamReference.CreateFromUri(new Uri(localImage)); dataPackage.ResourceMap[localImage] = streamRef; /* * 以下演示如何分享 WebView 中的被用户选中的 html * 具体可参见:Controls/WebViewDemo/WebViewDemo6.xaml * * DataPackage dataPackage = WebView.DataTransferPackage; * DataPackageView dataPackageView = dataPackage.GetView(); * * if ((dataPackageView != null) && (dataPackageView.AvailableFormats.Count > 0)) * { * dataPackage.Properties.Title = "Title"; * dataPackage.Properties.Description = "Description"; * * args.Request.Data = dataPackage; * } */ }
private void ShareHtmlHandler(DataTransferManager sender, DataRequestedEventArgs e) { DataRequest request = e.Request; DataRequestDeferral deferral = request.GetDeferral(); request.Data.Properties.Title = "Instructions to sync IE's favorites on your desktop to SkyDrive"; request.Data.Properties.Description = ""; if (counter == this.promoContentSource.GetPromoData.Count - 1) { try { string localImage = "ms-appx:///Assets/SkyDriveSetupInstruction.png"; string html = @"<html><body><h2>Instructions to sync IE's favorites on your desktop to SkyDrive</h2>" + @"<p><img src=""" + localImage + @""" alt=""Sync Favorites""></p>" + @"<p><ol>" + @"<li>Download SkyDrive http://windows.microsoft.com/en-us/skydrive/download</li>" + @"<li>Open directory c:\users\%username%. (Replace %username% with login ID you use to logon to your computer)</li>" + @"<li>Right click on Favorites folder and click Properties -> Click Location tab -> Click Move</li>" + @"<li>Choose the folder C:\Users\%username%\SkyDrive\RoamingFavoritesApp\Bookmark.</li>" + @"<li>Open folder C:\Users\%username%\SkyDrive and right click on RoamingFavoritesApp folder and click Make available offline.</li>" + @"<li>Done. Repeat above instructions for all of your laptop/desktop.</li>" + @"</ol></p></body></html>"; request.Data.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(html)); request.Data.Properties.ApplicationName = "Favorites Browser"; RandomAccessStreamReference streamRef = RandomAccessStreamReference.CreateFromUri(new Uri(localImage)); request.Data.ResourceMap[localImage] = streamRef; } catch { request.FailWithDisplayText("Folder can't be shared as bookmarks."); } //do nothing : might be empty string becuase only folder is selected } else { request.FailWithDisplayText("Nothing to share."); } deferral.Complete(); }
void CopyButton_Click(object sender, RoutedEventArgs e) { OutputText.Text = ""; OutputResourceMapKeys.Text = ""; OutputHtml.NavigateToString("<HTML></HTML>"); // Set the content to DataPackage as html format string htmlFormat = HtmlFormatHelper.CreateHtmlFormat(this.htmlFragment); var dataPackage = new DataPackage(); dataPackage.SetHtmlFormat(htmlFormat); // Set the content to DataPackage as (plain) text format string plainText = HtmlUtilities.ConvertToText(this.htmlFragment); dataPackage.SetText(plainText); // Populate resourceMap with StreamReference objects corresponding to local image files embedded in HTML var imgUri = new Uri(imgSrc); var imgRef = RandomAccessStreamReference.CreateFromUri(imgUri); dataPackage.ResourceMap[imgSrc] = imgRef; try { // Set the DataPackage to clipboard. Windows.ApplicationModel.DataTransfer.Clipboard.SetContent(dataPackage); OutputText.Text = "Text and HTML formats have been copied to clipboard. "; } catch (Exception ex) { // Copying data to Clipboard can potentially fail - for example, if another application is holding Clipboard open rootPage.NotifyUser("Error copying content to Clipboard: " + ex.Message + ". Try again", NotifyType.ErrorMessage); } }
public static void SetData(this DataRequest dataRequest, ShareSourceData config) { var deferral = dataRequest.GetDeferral(); try { var requestData = dataRequest.Data; requestData.Properties.Title = config.Title; if (!string.IsNullOrEmpty(config.Description)) { requestData.Properties.Description = config.Description; } var storageItems = new List <IStorageItem>(); foreach (var dataItem in config.Items) { switch (dataItem.DataType) { case ShareSourceItemType.Text: requestData.SetText(dataItem.Text); break; case ShareSourceItemType.WebLink: requestData.SetWebLink(dataItem.WebLink); break; case ShareSourceItemType.ApplicationLink: requestData.SetApplicationLink(dataItem.ApplicationLink); break; case ShareSourceItemType.Html: var htmlFormat = HtmlFormatHelper.CreateHtmlFormat(dataItem.Html); requestData.SetHtmlFormat(htmlFormat); break; case ShareSourceItemType.Image: requestData.FillImage(dataItem.Image, storageItems); break; case ShareSourceItemType.StorageItems: requestData.FillStorageItems(dataItem.StorageItems, storageItems); break; case ShareSourceItemType.DeferredContent: requestData.FillDeferredContent(dataItem.DeferredDataFormatId, dataItem.GetDeferredDataAsyncFunc); break; } } if (storageItems.Any()) { requestData.SetStorageItems(storageItems); } } finally { deferral.Complete(); } }
// TODO - RTF Example/Support //private void ConfigureRtfShareContent(DataPackage dataPackage) //{ // //dataPackage.SetRtf(); //} private void ConfigureHtmlShareContent(DataPackage dataPackage, Boolean isImmediate) { /* SIMPLIFIED BOOK EXAMPLE * var htmlFragment = * "<h1>HTML Sharing Example</h1>" + * "<p>This is an example of HTML sharing.<p>" + * "<img src=file1>" + * "<img src=file2>" + * "<img src=file3>"; * * var uriForSample1 = new Uri("ms-appx:///Assets/SampleOne.png"); * var uriForSample2 = new Uri("ms-appx:///Assets/SampleTwo.png"); * var uriForSample3 = new Uri("ms-appx:///Assets/SampleThree.png"); * * dataPackage.ResourceMap["file1"] = * RandomAccessStreamReference.CreateFromUri(uriForSample1); * dataPackage.ResourceMap["file2"] = * RandomAccessStreamReference.CreateFromUri(uriForSample2); * dataPackage.ResourceMap["file3"] = * RandomAccessStreamReference.CreateFromUri(uriForSample3); * * var formattedHtmlFragment = * HtmlFormatHelper.CreateHtmlFormat(htmlFragment); * dataPackage.SetHtmlFormat(formattedHtmlFragment); */ var includeImages = IncludeHtmlImagesCheckBox.IsChecked == true; var htmlContent = "<h1>HTML Sharing Example</h1><p>This is an example of HTML sharing.<p>"; if (includeImages) { htmlContent += "<img src=file1>"; htmlContent += "<img src=file2>"; htmlContent += "<img src=file3>"; // The ResourceMap provides a tool for the receiving application to use to dereference content with relative links dataPackage.ResourceMap["file1"] = RandomAccessStreamReference.CreateFromUri(new Uri(SampleFile1)); dataPackage.ResourceMap["file2"] = RandomAccessStreamReference.CreateFromUri(new Uri(SampleFile2)); dataPackage.ResourceMap["file3"] = RandomAccessStreamReference.CreateFromUri(new Uri(SampleFile3)); // Note - can also use RandomAccessStreamReference.CreateFromFileAsync to access user files referenced in app storage, for example } // Apply the necessary headers to ensure the content is forrmatted for Share operations. var formattedHtmlContent = HtmlFormatHelper.CreateHtmlFormat(htmlContent); if (isImmediate) { dataPackage.SetHtmlFormat(formattedHtmlContent); } else { ConfigureCallbackDataShareContent(dataPackage, StandardDataFormats.Html, () => formattedHtmlContent); } // TODO - try to add HTML previewer // TODO - consider adding a user-enters-a-url option }
public static void ShareContent(RequestModel requestModel, bool HtmlSupport = false) { //string whatever = "\" "; DataTransferManager transferManager = DataTransferManager.GetForCurrentView(); transferManager.DataRequested += (s, e) => { if (requestModel != null) { if (!string.IsNullOrEmpty(requestModel.Title)) { e.Request.Data.Properties.Title = requestModel.Title; } if (!string.IsNullOrEmpty(requestModel.Description)) { e.Request.Data.Properties.Description = requestModel.Description; } if (HtmlSupport) { string html = @"<body><h2>" + requestModel.Header + "</h2><img src=" + "\"" + requestModel.ImageUrl + "\"" + " " + "alt=" + "\"" + requestModel.ImageUrl + "\"" + " " + /*"width="104" height="142"*/ "><p>" + requestModel.Paragraph + "</p><a href=" + "\"" + requestModel.WebLink + "\"" + ">" + requestModel.WebLinkHeader + "</a></body>"; e.Request.Data.SetHtmlFormat( HtmlFormatHelper.CreateHtmlFormat(html)); } else { if (!string.IsNullOrEmpty(requestModel.ImageUrl)) { e.Request.Data.SetBitmap(Windows.Storage.Streams.RandomAccessStreamReference.CreateFromUri(new Uri(requestModel.ImageUrl))); } if (!string.IsNullOrEmpty(requestModel.Paragraph)) { e.Request.Data.SetText(requestModel.Paragraph); } if (requestModel.Files.Count() > 0) { List <IStorageItem> imageItems = new List <IStorageItem>(); foreach (var file in requestModel.Files) { imageItems.Add(file); e.Request.Data.SetStorageItems(imageItems); RandomAccessStreamReference imageStreamRef = RandomAccessStreamReference.CreateFromFile(file); e.Request.Data.Properties.Thumbnail = imageStreamRef; e.Request.Data.SetBitmap(imageStreamRef); } } if (!string.IsNullOrEmpty(requestModel.WebLink)) { e.Request.Data.SetWebLink(new Uri(requestModel.WebLink)); } } } }; DataTransferManager.ShowShareUI(); }
private static void FillPackage(StorageFile[] files, DataPackage package, object subShareItem) { if (subShareItem != null) { switch (subShareItem.GetType().Name) { case nameof(TextShareItem): { package.SetText((subShareItem as TextShareItem).Text); } break; case nameof(ApplicationLinkShareItem): { var sitm = subShareItem as ApplicationLinkShareItem; package.SetApplicationLink(sitm.ApplicationLink); } break; case nameof(DelayRenderedImageShareItem): { var sitm = subShareItem as DelayRenderedImageShareItem; package.SetBitmap(RandomAccessStreamReference.CreateFromStream(sitm.SelectedImage.GetRandowmAccessStream())); } break; case nameof(FilesShareItem): { StorageFile[] resultArray = files; package.SetStorageItems(resultArray); } break; case nameof(HtmlShareItem): { var sitm = subShareItem as HtmlShareItem; var fmt = HtmlFormatHelper.CreateHtmlFormat(sitm.HtmlFragment); package.SetHtmlFormat(fmt); package.SetText(sitm.HtmlFragment); } break; case nameof(WebLinkShareItem): { var sitm = subShareItem as WebLinkShareItem; package.SetWebLink(sitm.WebLink); package.SetText(sitm.WebLink?.ToString()); } break; default: break; } } }
void dtm_DataRequested(DataTransferManager sender, DataRequestedEventArgs args) { args.Request.Data.Properties.Title = "Pepco"; args.Request.Data.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat("Hey there! This is an interesting app, get it from Windows Store!")); args.Request.Data.SetText("Indeed awesome game"); DataRequestDeferral d = args.Request.GetDeferral(); args.Request.Data.SetUri(new Uri("http://windows.microsoft.com/en-US/windows-8/apps")); d.Complete(); }
/// <summary> /// The copy. /// </summary> /// <returns> /// The <see cref="Task"/> to run asynchronously. /// </returns> private async Task Copy() { var package = new DataPackage(); package.SetText(DataManager.CurrentPage.Text); package.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(DataManager.CurrentPage.Html)); Clipboard.SetContent(package); var dialog = new MessageDialog("The web page was successfully copied to the clipboard."); await dialog.ShowAsync(); }
private void OnCopyChar(object sender, RoutedEventArgs e) { //string s = String.Format($"<font> face = \"{_cmbFontFamily.SelectedItem.ToString()}\"\n</font>\n{_txtFont.Text}"); string s = String.Format($"{_txtFont.Text}"); string html = HtmlFormatHelper.CreateHtmlFormat(s); DataPackage dp = new DataPackage(); dp.SetHtmlFormat(html); Clipboard.SetContent(dp); }
private void SetContent(DataRequest dataRequest, string data, bool supportsHtml) { if (supportsHtml) { dataRequest.Data.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(data)); } else { dataRequest.Data.SetText(data.DecodeHtml()); } }
void dtm_DataRequested(DataTransferManager sender, DataRequestedEventArgs args) { string HTMLSource = "<strong>This is bold text,</strong> and this is not. <a href='http://31daysofwindows8.com'>Check out the 31 Days of Windows 8!</a>"; string HTMLTitle = "31 Days of Windows 8!"; string HTMLDescription = "This just explains what we're sharing."; //This is an optional value. DataPackage data = args.Request.Data; data.Properties.Title = HTMLTitle; data.Properties.Description = HTMLDescription; data.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(HTMLSource)); }
private void HTMLButton_Click(object sender, RoutedEventArgs e) { string s = HtmlFormatHelper.CreateHtmlFormat(HTMLSource.InvokeScript("eval", new string[] { "document.documentElement.outerHTML;" })); d.SetHtmlFormat(s); string t = HtmlUtilities.ConvertToText(s); d.SetText(t); Clipboard.SetContent(d); }
private void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs args) { DataRequest request = args.Request; request.Data.Properties.ApplicationName = "Pictures Synchroniser"; request.Data.Properties.Title = string.Format("Pictures Synchroniser"); request.Data.Properties.Description = "The program can help you to synchronise your pictures."; string imageToShare = "ms-appx:///Assets/main_camera - original.png"; string textAsHtml = HtmlFormatHelper.CreateHtmlFormat(imageToShare); request.Data.SetHtmlFormat(textAsHtml); }
private void ShareRequested(DataTransferManager sender, DataRequestedEventArgs args) { if (SelectedDocument == null) { return; } DataRequest request = args.Request; request.Data.Properties.Title = SelectedDocument.Name; request.Data.SetText(SelectedDocument.Text); request.Data.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(_markdown.Transform(SelectedDocument.Text))); }
private void OnMenuCardRequested(DataTransferManager sender, DataRequestedEventArgs args) { Uri baseUri = new Uri("ms-appx:///"); DataPackage package = args.Request.Data; package.Properties.Title = string.Format("MENU card {0}", card.Title); if (card.Description != null) { package.Properties.Description = card.Description; } package.Properties.Thumbnail = RandomAccessStreamReference.CreateFromUri(new Uri(baseUri, "Assets/Logo.png")); package.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(card.GetHtmlContent())); }
public static void ShareHtml(string htmlToShare, string title, string description = null) { FillShareContentAction = (args) => { var requestData = args.Request.Data; SetCommonProperties(requestData, title, description); var htmlFormat = HtmlFormatHelper.CreateHtmlFormat(htmlToShare); requestData.SetHtmlFormat(htmlFormat); }; DataTransferManager.ShowShareUI(); }
private void ShareDataRequested(DataTransferManager sender, DataRequestedEventArgs args) { var books = new BooksRepository().GetSampleBooks(); Uri baseUri = new Uri("ms-appx:///"); DataPackage package = args.Request.Data; package.Properties.Title = "Sharing Sample"; package.Properties.Description = "Sample for sharing data"; package.Properties.Thumbnail = RandomAccessStreamReference.CreateFromUri( new Uri(baseUri, "Assets/Square44x44Logo.png")); package.SetText(SimpleText); package.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(books.ToHtml())); }
private void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs e) { DataPackage requestData = e.Request.Data; requestData.Properties.Title = projectName.Text; requestData.Properties.Description = "Investment Analysis Shared Content"; // The description is optional. //requestData.SetText("Here the project data should be placed"); requestData.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(this.GetHTMLData())); // Check if the supplied data has at least title if (String.IsNullOrEmpty(requestData.Properties.Title)) { e.Request.FailWithDisplayText("Current Investment Analysis is not shareable"); } }
/// <summary> /// Prepare package for share /// </summary> /// <param name="sender"></param> /// <param name="args"></param> protected virtual void DaTranManaItems_DataRequestedAsync(DataTransferManager sender, DataRequestedEventArgs args) { shareHtml += "<br><br>Open via The Daily Notes<br>" + "Get app from <a href=\"https://www.microsoft.com/store/productId/9NBLGGH69J83\">Microsoft Store<\\a><br>"; string htmlExport = HtmlFormatHelper.CreateHtmlFormat(shareHtml); DataRequest dReq = args.Request; dReq.Data.SetHtmlFormat(htmlExport); dReq.Data.ShareCompleted += Data_ShareCompleted; daTranManaItems = DataTransferManager.GetForCurrentView(); daTranManaItems.DataRequested -= DaTranManaItems_DataRequestedAsync; }
protected override void dtm_DataRequested(DataTransferManager sender, DataRequestedEventArgs args) { //base.dtm_DataRequested(sender, args); if (ViewModel != null) { args.Request.Data.Properties.Title = string.Format("{0} ({1})", ViewModel.ReisMogelijkheid.VanNaar, ViewModel.ReisMogelijkheid.VanTot); //args.Request.Data.SetText(ViewModel.ReisMogelijkheid.GetAsText()); args.Request.Data.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(ViewModel.ReisMogelijkheid.GetAsHtml())); } else { args.Request.FailWithDisplayText(_resourceLoader.GetString("ShareError")); } }
/// <summary> /// The view page with mobile agent method. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private async void ViewMobile_OnClick(object sender, RoutedEventArgs e) { var handler = new HttpClientHandler { AllowAutoRedirect = true }; var client = new HttpClient(handler); client.DefaultRequestHeaders.Add("user-agent", MobileUserAgent); var response = await client.GetAsync(new Uri(JeremyYogaPost)); response.EnsureSuccessStatusCode(); var html = await response.Content.ReadAsStringAsync(); var fragment = HtmlFormatHelper.GetStaticFragment(HtmlFormatHelper.CreateHtmlFormat(html)); this.WebViewControl.NavigateToString(fragment); }
private void IndexPage_DataRequested(DataTransferManager sender, DataRequestedEventArgs args) { //创建一个数据包 DataPackage dataPackage = new DataPackage(); //把要分享的链接放到数据包里 dataPackage.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(Data.Content)); dataPackage.SetWebLink(new Uri(Data.FeedUrl)); //数据包的标题(内容和标题必须提供) dataPackage.Properties.Title = Data.Title; //数据包的描述 dataPackage.Properties.Description = Data.Summary; //给dataRequest对象赋值 DataRequest request = args.Request; request.Data = dataPackage; }
private void DataRequested(DataTransferManager sender, DataRequestedEventArgs args) { DataRequest request = args.Request; request.Data.Properties.Title = resourceLoader.GetString("AppName"); request.Data.Properties.Description = resourceLoader.GetString("Share"); if (toShare.LineNumber != "") { request.Data.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat($@"<p style='font-family:Calibri,Sans-Serif'><span style='font-size:120%'><b>{toShare.LineNumber}</b></span><br /><b>{toShare.StartTime}</b> {toShare.From}<br /><b>{toShare.EndTime}</b> {toShare.To}</p>")); request.Data.SetText($@"{toShare.LineNumber.Trim()}, {toShare.StartTime} {toShare.From} - {toShare.EndTime} {toShare.To}"); } else { request.Data.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat($@"<p style='font-family:Calibri,Sans-Serif'><b>{toShare.StartTime}</b> {toShare.From}<br /><b>{toShare.EndTime}</b> {toShare.To}</p>")); request.Data.SetText($@"{toShare.StartTime} {toShare.From} - {toShare.EndTime} {toShare.To}"); } }
private void ProductDetailPage_DataRequested(DataTransferManager sender, DataRequestedEventArgs args) { if (this.ProductId <= 0) { args.Request.FailWithDisplayText("No product selected"); } else { var message = string.Format("Hi, I really think you can't miss <a href=\"http://nsk.manageddesigns.it/Catalog/Product/{0}\">this</a>", this.ProductId); string htmlFormat = HtmlFormatHelper.CreateHtmlFormat(message); var request = args.Request; request.Data.Properties.Description = "NSK is sharing a link to a product"; request.Data.Properties.Title = "An advice for you from the Northwind Online Store"; request.Data.SetHtmlFormat(htmlFormat); } }
/// <summary> /// Sets the contents of this <see cref="DataPackage"/> from the specified <see cref="DrxDocumentViewModel"/> to export. /// </summary> internal static void SetExportedDrx(this DataPackage package, DrxDocument document, IFlagResolver resolver = null) { package.Properties.Title = document.Header.Title; package.Properties.Description = "DRX Document"; // Export the document to this stream using (var stream = new MemoryStream()) { document.Export(stream, resolver); stream.Seek(0, SeekOrigin.Begin); using (var reader = new StreamReader(stream)) { var data = reader.ReadToEnd(); package.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(data)); } } }
private void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs args) { DataPackage requestData = args.Request.Data; if (null != _title) { requestData.Properties.Title = _title; if (_urlToShare != null && _urlToShare.Any()) { requestData.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(string.Join("<br/>", _urlToShare))); } if (_filesToShare != null && _filesToShare.Any()) { requestData.SetStorageItems(_filesToShare.ToArray()); } ResetTranferData(); } }
private void ProvideSharingDataFromWebView(DataRequest request) { try { var html = new StringBuilder(webView.InvokeScript("eval", new string[] { "document.documentElement.outerHTML;" })); // Fix Urls to base Urls otherwise it won't look right (css, js et cetera missing) - really, really simple html.Replace("src=\"/", "src=\"http://www.ris.bka.gv.at/"); html.Replace("href=\"/", "href=\"http://www.ris.bka.gv.at/"); request.Data.Properties.Title = ViewModel.PageTitle; request.Data.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(html.ToString())); } catch { request.FailWithDisplayText("Es gibt keine Inhalte die geteilt werden können"); } }
// 复制 html 字符串到剪切板 private void btnCopyHtml_Click(object sender, RoutedEventArgs e) { DataPackage dataPackage = new DataPackage(); // 封装一下需要复制的 html 数据,以便以 html 的方式将数据复制到剪切板 string htmlFormat = HtmlFormatHelper.CreateHtmlFormat("<body>I am webabcd</body>"); dataPackage.SetHtmlFormat(htmlFormat); try { Windows.ApplicationModel.DataTransfer.Clipboard.SetContent(dataPackage); lblMsg.Text = "已将内容复制到剪切板"; } catch (Exception ex) { lblMsg.Text = ex.ToString(); } }