在Windows 8中在文本块中打印换行符

5

我想在我的代码中分配TextBlock的Text并将其显示在屏幕上。 它可能包含换行符。 但是,一些TextBlock不打印该字符。 我已经在我的文本中使用了以下组合来打印新行字符:

  • 

  • 

  • 

  • 
  • \n
  • \r\n

有人做过这个吗? 你能帮我吗?


你是通过代码还是XAML来设置它的? - Inder Kumar Rathore
将文本设置在代码后面的 .cs 文件中。 - Milan Aggarwal
你能展示一下你在代码中设置了什么以及它是如何显示的吗? - Inder Kumar Rathore
1个回答

8
XAML 中,您可以这样做:
<TextBlock>Hello how are you?<LineBreak/>I'm fine</TextBlock>

在代码中,您可以这样做:
textBlock.Text = "Hello how are you?\nI'm fine.";

两者对我都有效。


编辑

对于您的情况,您可以这样做。

string str = @"Hello how are you?\nI'm fine.";//This is your actual string containing \n as character

或者在你的情况下
string str = _arr[index];
str = str.Replace(@"\n", "\n");

将 "\n" 字符串替换为新行字符。
附言:这会在您实际想显示 \n 字符串而不是新行字符的情况下造成问题。


是的,这就是问题所在。你正在从文件中读取内容,而该文件包含“\n”作为\\n两个字符,而不是换行符。对于换行符,在文件中是看不到的。请检查你的文件,看看是否可以看到\n字符,而不是回车符。 - Inder Kumar Rathore
调试器也像Sachin\nSehwag一样打印它。这是什么原因? - Milan Aggarwal
在文件中,我手动键入了\n,并且在文件中显示为\n。那么我该如何修复它?如果将其读作\``n - Milan Aggarwal
删除\ n,仅按回车键。 - Inder Kumar Rathore
жҲ‘зҢңжҲ‘еә”иҜҘеңЁд»Јз ҒдёӯиҜ»еҸ–еҗҺдҪҝз”Ё\nжӣҝжҚўе®ғгҖӮ然еҗҺй—®йўҳе°ұдјҡеҫ—еҲ°и§ЈеҶігҖӮз”ҡиҮіиҝҷд№ҹжІЎжңүеё®еҠ©.. - Milan Aggarwal
显示剩余10条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接