我有一個接受輸入的WinForm上的文本框(多行)。這是我創建的一個對象的數據綁定。當我鍵入:C#如何通過數據綁定保留換行符?
"hello
world"
我看到在我的對象的值是「你好\ r \ nworld」,符合市場預期。但是當我離開對象並在以後重新綁定時,文本字段就會「helloworld」全部聚集起來。當我再次看場時,它是「hello \ nworld」。 \ r被剝離了一些如何。
\ r在數據綁定過程中去了哪裏?我能做些什麼來確保它保持?
我有一個接受輸入的WinForm上的文本框(多行)。這是我創建的一個對象的數據綁定。當我鍵入:C#如何通過數據綁定保留換行符?
"hello
world"
我看到在我的對象的值是「你好\ 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)
?
編輯
你正在用'Environment.NewLine'替換字符串'hello \ r \ nplagiarism world'嗎? – 2011-02-26 04:51:12
郵攝製代碼。 – 2011-02-26 02:00:47
AHA!我發現它......當我將它序列化並將它帶回(因此我如何「重新綁定」......我將保存該文件並重新打開它),換行符被搞砸了。我已經完成了一百萬次序列化,所以我只是假定它是在綁定中。我已經證明它是在序列化的一塊! – Jerry 2011-02-26 02:13:24