簡體   English   中英

C#如何通過數據綁定保留換行符?

[英]C# How do I preserve a newline through a databind?

我在接受Enter的WinForm上有一個文本框(多行)。 它與我創建的對象進行數據綁定。 當我輸入時:

"hello
world"

我看到我的對象中的值是“ hello \\ r \\ nworld”,如預期的那樣。 但是,當我離開對象並稍后再次與之重新綁定時,文本字段將“ helloworld”全部捆綁在一起。 當我再次查看該字段時,它是“ hello \\ nworld”。 \\ r被剝離了一些方法。

\\ r在數據綁定過程中去哪兒? 我該怎么做才能確保其持久性?

\\r\\n表示十六進制代碼0xD 0xA ,並且(僅在Windows中)表示換行指令,我認為,當您將數據內容綁定到文本內容時, \\r\\n會轉換為通用的\\n ,這就是為什么將其作為helloworld作為顯示的文本來獲取,並將hello\\rworld作為數據來獲取,但是由於它僅由\\r Carriage Return指令而不是\\n Line Feed換行指令提供,因此不會作為新行處理。

我想你可以用

Environment.NewLine

解決您的問題。

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

已編輯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM