WinRT与邮件应用程序的换行符共享文本

时间:2012-10-23 19:58:54

标签: c# windows-8 windows-runtime

我为分享准备了一些数据:

        package = package ?? new DataPackage();

        package.Properties.Title = "Event: " + data.Name;

        var text = new StringBuilder().AppendFormat(@"
Start at.   {0:F}<br/>
End at.     {1:F}<br/>
Total time. {2}<br/>
", data.StartTime, data.EndTime, data.TotalTime);


        var textHtml = text.ToString();
        package.SetText(textHtml.Replace("<br/>", ""));
        package.SetHtmlFormat(textHtml);

在某些应用程序(例如Tweetro)中,类似的中断显示正常,但在Mail中被忽略。任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您为包提供了Text和Html。

因此,根据目标应用程序接受的内容,它将使用Text或Html。在您的文本中,用空字符串替换<br/>。所以你不会有换行符。

您是否尝试过用“\ n”代替? '\ n'是新行的特征。

    package.SetText(textHtml.Replace("<br/>", "\n"));

答案 1 :(得分:0)

我看到我在这里参加派对的时间已经很晚了,但是我有同样的问题。

我发现这个SO - How to add new line while sharing text in WinRt使我在添加基于HTML的文本时添加了HtmlFormatHelper.CreateHtmlFormat(textToShare)。这为我修复了邮件应用程序上的换行符,因为它开始使用HTML。

package.SetHtmlFormat(HtmlFormatHelper.CreateHtmlFormat(textHtml));

我认为Mail应用程序不使用HTML内容,除非格式正确,HtmlFormatHelper似乎也这样做。