如何在WP7中的电子邮件正文中添加多个选项卡空间

时间:2012-09-03 08:20:09

标签: windows-phone-7 email formatting launcher

我的应用中有一个电子邮件功能。所以我添加了\ t \ tt,以便在第一个日期和值之间有一个标签空格。这在设备中看起来也很好。但是当收到电子邮件时,字符串之间只有一个空格,而且没有标签。因此,数据不会出现在列中,而是出现锯齿状。是否有任何方法可以在收到的电子邮件中实现相同的外观?如何在EmailComposeTask中格式化文字?

string test = "";
strheading = "heading";
for (int j = 0; j < pCycMan.GetWeightCount(); j++)
{
    test= test+ pCycMan.GetWeightDateByIndex(j).ToString("dd-MMM-yyyy") + "\t\t" + pCycMan.GetWeightByIndex(j) + "\n";
}
var emailComposeTask = new EmailComposeTask
{
    To = "emailid",
    Subject = "tezt",
};
emailComposeTask.Body = strheading + test;
emailComposeTask.Show();

编辑: - 我也在for循环中尝试了以下代码,但这些代码无效。

string temp2 =pCycMan.GetWeightByIndex(j);
StringBuilder sb = new StringBuilder(pCycMan.GetWeightDateByIndex(j).ToString("dd-MMM-yyyy"));
sb.Append("\t");
sb.Append(temp2);
sb.AppendLine();
weight = weight + sb.ToString();

1 个答案:

答案 0 :(得分:2)

例如,如果您正在浏览器中观看电子邮件,那么所有标准空白都可能被破坏,因为浏览器会忽略它。因此,您需要查看原始电子邮件数据,以确认它确实缺少您发送的标签。例如,在Mozilla Thunderbird中,按Ctrl+U可查看原始消息数据。在Gmail中,您点击向下箭头附近回复按钮,然后选择Show original选项。

如果您希望直观地使用格式文本,最好使用HTML表来格式化类似于表格的数据。指定“Content-Type:text / html”,然后使用数据创建html文档(请注意,应正确指定encodind)。

如果您想要或必须使用text/plain内容类型,那么使用空格格式化表格数据会更安全,例如:

+------------+-------+-------+-------+-------+
| Date       | Load  | Quota | Warn  | Err   |
+------------+-------+-------+-------+-------+
| 2012-08-23 |   0.37|     5%|      0|      0|
| 2012-08-22 |   0.45|     5%|      0|      0|
| 2012-08-21 |   0.30|     5%|      0|      0|
+------------+-------+-------+-------+-------+

但是,电子邮件客户端必须使用Monospace font正确读取此表,否则表格边框和数据将“流动”。