コード例 #1
0
        //private void ShowSharedRtf(DataPackageView shareData)
        //{
        //    //throw new NotImplementedException();
        //}

        private async Task ShowSharedHtml(DataPackageView shareData)
        {
            DefaultViewModel["IsHtmlShared"]  = true;
            DefaultViewModel["IsHtmlLoading"] = true;

            var sharedHtmlContent = await shareData.GetHtmlFormatAsync();

            if (!String.IsNullOrEmpty(sharedHtmlContent))
            {
                // Convert the shared content that contains extra header data into just the working fragment
                var sharedHtmlFragment = HtmlFormatHelper.GetStaticFragment(sharedHtmlContent);

                // Reconcile any resource-mapped image references
                var sharedResourceMap = await shareData.GetResourceMapAsync();

                foreach (var resource in sharedResourceMap)
                {
                    var mappedImageElement     = String.Format("<img src={0}>", resource.Key);
                    var replacementImageBase64 = await resource.Value.Base64EncodeContent();

                    var replacementImageElement = String.Format("<img src='data:image/png;base64,{0}' />", replacementImageBase64);
                    var imageIndex = sharedHtmlFragment.IndexOf(mappedImageElement, StringComparison.Ordinal);
                    while (imageIndex >= 0)
                    {
                        sharedHtmlFragment = sharedHtmlFragment.Remove(imageIndex, mappedImageElement.Length);
                        sharedHtmlFragment = sharedHtmlFragment.Insert(imageIndex, replacementImageElement);
                        imageIndex         = sharedHtmlFragment.IndexOf(mappedImageElement, StringComparison.Ordinal);
                    }
                }

                DefaultViewModel["IsHtmlLoading"] = false;
                DefaultViewModel["SharedHtml"]    = sharedHtmlFragment;
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
ファイル: TradeController.cs プロジェクト: yxandam/BabyPlan
        public JsonResult GetReplys(int pid)
        {
            int pageIndex = 0;
            int pageSize  = 10;

            int.TryParse(Request["page"], out pageIndex);
            ReplyServiceClient client = new ReplyServiceClient();
            AdvancedResult <PageEntity <GenReply> > response = client.LoadReplyListByBBPostID(pid, pageIndex, pageSize);
            IList <ReplyModel> models = new List <ReplyModel>();
            string             paging = string.Empty;
            int count = 0;

            if (response.Error == AppError.ERROR_SUCCESS)
            {
                count  = response.Data.RecordsCount;
                paging = HtmlFormatHelper.GeneratePagingHtml(response.Data.PageIndex, response.Data.PageSize, response.Data.RecordsCount, "javascript:void(LoadComments({0}))", "下一页", "上一页", null, null, null);

                ViewModelBindOption bindOptions = ViewModelBindOption.DefalutBindOption;
                bindOptions.BindReplyCount    = 0;
                bindOptions.BindRefReplyCount = 1;
                bindOptions.ReplayBindType    = ReplyBindType.Author | ReplyBindType.RefReply;


                models = ReplyModel.BindList(response.Data.Items, bindOptions);
            }
            foreach (ReplyModel r in models)
            {
                if (r.Author != null && r.Author.HeadPic != null)
                {
                    r.Author.HeadPic.DisplaySeting(50, 50);
                }
            }
            return(Json(new { data = models, paging = paging, count = count }, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
        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();
        }
コード例 #5
0
ファイル: ShareSource.xaml.cs プロジェクト: webabcd/Windows10
        // 分享 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;
             * }
             */
        }
コード例 #6
0
        private async Task PasteHtmlFormat(DataPackageView dataPackageView)
        {
            var html = await dataPackageView.GetHtmlFormatAsync();

            var htmlFragment = HtmlFormatHelper.GetStaticFragment(html);
            await noteFieldView.HtmlEditor.InsertHtml(htmlFragment);
        }
コード例 #7
0
        /// <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()));
        }
コード例 #8
0
        // 显示剪切板中的 html 数据
        private async void btnPasteHtml_Click(object sender, RoutedEventArgs e)
        {
            DataPackageView dataPackageView = Windows.ApplicationModel.DataTransfer.Clipboard.GetContent();

            if (dataPackageView.Contains(StandardDataFormats.Html))
            {
                try
                {
                    // 封装后的数据
                    string htmlFormat = await dataPackageView.GetHtmlFormatAsync();

                    // 封装前的数据
                    string htmlFragment = HtmlFormatHelper.GetStaticFragment(htmlFormat);

                    lblMsg.Text  = "htmlFormat(封装后的数据): ";
                    lblMsg.Text += Environment.NewLine;
                    lblMsg.Text += htmlFormat;
                    lblMsg.Text += Environment.NewLine;
                    lblMsg.Text += Environment.NewLine;
                    lblMsg.Text += "htmlFragment(封装前的数据): ";
                    lblMsg.Text += Environment.NewLine;
                    lblMsg.Text += htmlFragment;
                }
                catch (Exception ex)
                {
                    lblMsg.Text = ex.ToString();
                }
            }
            else
            {
                lblMsg.Text = "剪切板中无 html 内容";
            }
        }
コード例 #9
0
        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();
            }
        }
コード例 #10
0
        // 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
        }
コード例 #11
0
        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();
        }
コード例 #12
0
        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;
                }
            }
        }
コード例 #13
0
        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();
        }
コード例 #14
0
        /// <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();
        }
コード例 #15
0
        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);
        }
コード例 #16
0
 private void SetContent(DataRequest dataRequest, string data, bool supportsHtml)
 {
     if (supportsHtml)
     {
         dataRequest.Data.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(data));
     }
     else
     {
         dataRequest.Data.SetText(data.DecodeHtml());
     }
 }
コード例 #17
0
ファイル: CopyText.xaml.cs プロジェクト: ckc/WinApp
        async void PasteButton_Click(object sender, RoutedEventArgs e)
        {
            rootPage.NotifyUser("", NotifyType.StatusMessage);
            OutputText.Text            = "Content in the clipboard: ";
            OutputResourceMapKeys.Text = "";
            OutputHtml.NavigateToString("<HTML></HTML>");

            var dataPackageView = Windows.ApplicationModel.DataTransfer.Clipboard.GetContent();

            if (dataPackageView.Contains(StandardDataFormats.Text))
            {
                try
                {
                    var text = await dataPackageView.GetTextAsync();

                    OutputText.Text = "Text: " + Environment.NewLine + text;
                }
                catch (Exception ex)
                {
                    rootPage.NotifyUser("Error retrieving Text format from Clipboard: " + ex.Message, NotifyType.ErrorMessage);
                }
            }
            else
            {
                OutputText.Text = "Text: " + Environment.NewLine + "Text format is not available in clipboard";
            }



            if (dataPackageView.Contains(StandardDataFormats.Html))
            {
                this.DisplayResourceMapAsync(dataPackageView);

                string htmlFormat = null;
                try
                {
                    htmlFormat = await dataPackageView.GetHtmlFormatAsync();
                }
                catch (Exception ex)
                {
                    rootPage.NotifyUser("Error retrieving HTML format from Clipboard: " + ex.Message, NotifyType.ErrorMessage);
                }

                if (htmlFormat != null)
                {
                    string htmlFragment = HtmlFormatHelper.GetStaticFragment(htmlFormat);
                    OutputHtml.NavigateToString("HTML:<br/ > " + htmlFragment);
                }
            }
            else
            {
                OutputHtml.NavigateToString("HTML:<br/ > HTML format is not available in clipboard");
            }
        }
コード例 #18
0
        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);
        }
コード例 #19
0
        public void GetEnumData_NumberSystem()
        {
            // arrange

            // act
            var data = HtmlFormatHelper.GetEnumData <NumberSystem>();

            // assert
            Assert.NotNull(data);
            Assert.Contains <Tuple <string, NumberSystem> >(data, p => p.Item1 == "Decimal");
            Assert.Contains <Tuple <string, NumberSystem> >(data, p => p.Item2 == NumberSystem.Octal);
        }
コード例 #20
0
        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);
        }
コード例 #21
0
        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));
        }
コード例 #22
0
        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();
        }
コード例 #23
0
ファイル: MainViewModel.cs プロジェクト: squillace/MarkPadRT
        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)));
        }
コード例 #24
0
        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()));
        }
コード例 #25
0
        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()));
        }
コード例 #26
0
        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");
            }
        }
コード例 #27
0
        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"));
            }
        }
コード例 #28
0
        /// <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;
        }
コード例 #29
0
        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;
        }
コード例 #30
0
ファイル: Results.xaml.cs プロジェクト: lord-blex/Timetable
        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}");
            }
        }