C#如何通过数据绑定保存换行符?

C#如何通过数据绑定保存换行符?,c#,winforms,data-binding,C#,Winforms,Data Binding,我在WinForm上有一个接受enter的文本框(多行)。它是我创建的对象的数据绑定。当我打字时: "hello world" 我看到我的对象中的值是“hello\r\nworld”,正如预期的那样。但是,当我离开对象并稍后重新绑定到它时,文本字段中的“helloworld”都聚集在一起。当我再次查看该字段时,它是“hello\nworld”。已删除\r\n部分内容 在数据绑定过程中\r\n服务器将转到何处??我能做些什么来确保它保持不变?\r\n表示十六进制代码0xD 0xA,并且(仅在Wi

我在WinForm上有一个接受enter的文本框(多行)。它是我创建的对象的数据绑定。当我打字时:

"hello
world"
我看到我的对象中的值是“hello\r\nworld”,正如预期的那样。但是,当我离开对象并稍后重新绑定到它时,文本字段中的“helloworld”都聚集在一起。当我再次查看该字段时,它是“hello\nworld”。已删除\r\n部分内容


在数据绑定过程中\r\n服务器将转到何处??我能做些什么来确保它保持不变?

\r\n
表示十六进制代码
0xD 0xA
,并且(仅在Windows中)表示新行指令,我认为,当您数据绑定文本内容
\r\n
转换为其通用内容
\n
,这就是为什么您将其作为
helloworld
显示的文本得到的原因,和
hello\rworld
作为数据,但它不会作为新行处理,因为它仅随
\r回车
指令提供,而不随
\n换行
指令提供

我想你可以用

Environment.NewLine
来解决你的问题

("hello\r\nplagiarism world").Replace("\r\n", Environment.NewLine)
?


编辑

啊哈!我找到了。。。当我把它序列化出来,然后把它带回来(这样我就“重新绑定”…我会保存文件并重新打开它)换行符就搞乱了。我已经做了一百万次序列化,所以我只是假设它在绑定中。我已经证明了它是在序列化块!是否将字符串
hello\r\nplagiarism world
替换为
Environment.NewLine