youngfan007 发表于 2015-5-23 11:39:57

Windows 8 Metro 开发学习笔记一:新的TextBox控件与换行符

  最近在开发一个Metro风格的简易文本编辑器,自然而然就想到了TextBox控件,在Metro开发中,这个控件被放到了Windows.UI.Xaml.Controls命名空间下。跟WinForm开发有一点不同的是,如果想要显示多行文本,就需要把AcceptsReturn属性设为True, 而不是Multiline属性。还有另一点比较特别的是,它对换行符的处理跟之前的大大不同了。请看图:
  
  1.

  
  从这里可以看到,把文本文件读到字符串后,其中的换行符是解释为\r\n,这个跟 Windows 下文本文件保存格式吻合。
  
  2.

  
  但是在把string设给TextBox的Text属性之后,可以发现原来的换行符\r\n变成了\r,而且文本在TextBox中显示正常,该换行的地方也换行。
  这样的话,如果要把TextBox中的字符保存到文件,就要先把\r替换成\r\n,不然在 Windows 中文本就全乱了。
  
  我在WinForm中验证过是没有这个问题的。
  
  因为看不到源代码,我也没办法再作深一步的探究,如果有哪位朋友知道原因的话,麻烦告知一声,如果是我火星了,请轻喷:)
页: [1]
查看完整版本: Windows 8 Metro 开发学习笔记一:新的TextBox控件与换行符