在silverlight中,如果TextBox AcceptsReturn,所有換行符都是\ r,即使Environment.Newline是\ r \ n。爲什麼是這樣? (WPF已作爲文本框的換行符)爲什麼Silverlight TextBox使用 r作爲換行符而不是Environment.Newline( r n)?
10
A
回答
1
我認爲是因爲與其他操作系統的兼容性。
Silverlight可用於Linux和Mac操作系統。這兩個操作系統(大多數)都是基於unix的,而unix使用'\ r'作爲新行。 (據我所知只有MS使用'\ r \ n')
雖然看框架源代碼似乎像MS開發人員大多用來鍵入'\ r \ n'而不是使用Environment.NewLine。
2
我同意ertan的回答。我遇到了這種情況,這是不方便的。
我們有一個應用程序,通過Silverlight文本框從用戶那裏收集字符串數據,並將該數據存儲在SQL Server數據庫中,這是非常常見的。當應用程序的其他組件使用預期換行符的存儲的字符串數據由"\r\n"
表示時,會出現問題。這種組件的一個例子是Telerik的報告解決方案:請參閱Line break issue in multi line text boxes。
我用這個值轉換器克服了這個問題:
public class LineBreakCorrectionConverter : IValueConverter
{
private const string CR = "\r";
private const string CRLF = "\r\n";
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string text = value as string;
if (text == null)
return null;
return text.Replace(CRLF, CR);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string text = value as string;
if (text == null)
return null;
return text.Replace(CR, CRLF);
}
}
相關問題
- 1. 爲什麼paramiko將\ r \ n換成換行符而不是\ n?
- 2. Environment.NewLine有時會返回\ n換行而不是\ r \ n回車,換行
- 3. C#\ n,\ r \ n或Environment.NewLine
- 4. 爲什麼有雙\ r \ n,而不是在代碼\ r \ n的PY4E
- 5. SMTP:\ r \ n \ r(無第二\ n)的爲雙換行符
- 6. Area.poly in R:爲什麼Shapefile轉換爲類「list」而不是「gpc.poly」?
- 7. C#如何Regex.Replace「\ r \ n」(實際字符,而不是換行符)
- 8. 爲什麼Environment.NewLine不能在我的String.Replace()中工作,但「\ n」呢?
- 9. 而不作爲R
- 10. 顯示換行符(\ r \ n)
- 11. 替換\ r \ n爲CSV作家\ n
- 12. 爲什麼$不匹配\ r \ n
- 13. PHP郵件中的換行符():\ n,\\ n和\ r \ n不工作
- 14. Php換行符未使用\ n \ r
- 15. 列表而不作爲R
- 16. Mysql與換行符\ r \ n作爲一行
- 17. 爲什麼用「%.24s \ r \ n」,而不是「%-24 \ r \ n」個功能的snprintf的調用
- 18. WinRT TextBox MaxLength不會將\ n \ r計爲兩個字符
- 19. 嘗試替換文件中的\ r \ n \ n但不是\ r \ n
- 20. 而作爲R
- 21. 爲什麼換行符不起作用?
- 22. \ n \ r是什麼意思?
- 23. 將\ r \ n替換爲「」
- 24. 爲什麼我得到空間而不是換行符?
- 25. 說與\ n \ r換行符用Perl
- 26. r:爲什麼findAssocs()不起作用?
- 27. 爲什麼WebClient DownloadString返回\ r \ n?
- 28. C#和ASP.NET中的換行符有什麼區別? (\ r \ n與\ n)
- 29. [R爲什麼 「==」 操作未%
- 30. 替換\ n \ r換行php
也http://connect.microsoft.com/VisualStudio/feedback/details/419751/silverlight-textboxes-environment-newline – Koen 2012-03-13 13:04:07
看錯。 UNIX和MacOS X都使用\ n。唯一使用\ r的系統是MacOS v.9及更低版本。 – 2014-04-04 01:06:01