How to represent Line Break or new line in silverlight textBox

爷,独闯天下 提交于 2020-01-22 05:18:04

问题


I am having hard time to match Special characters set in Silverlight. I only on the following:

To represent a LineBreak in Silverlight TextBlock:

use : > lineBreak <

But What do I use to represent a New Line or LineBreak In Silverlight TextBox??

Example : I want this one line mag : This is line one. This is line two

into this :

This is line one. This is line two.

it seems this \r\n is not working. This is line one \r\n


回答1:


The bottom line at the top

<TextBox Text="This is line one!&#13;This is line two!" />

Linebreak Weirdness in the Silverlight TextBox

If you are going to be initialising content of a TextBox with literal text in Xaml in a similiar way that you might a TextBlock then you need a reliable way to represent the line break character the Silverlight uses in Xaml.

Silveright uses a CR character (0x0D - ASCII 13) to represent a linebreak which in C# you include in a string literal as \r. However Xaml isn't C# so you can't use \r in Xaml.

Xaml is fundementally XML but with some Xaml parsing oddities. Just including a linebreak, as Derek has in his answer, directly in the Xaml will not work at runtime (although the designer displays it as expected). You might think that this because Xml uses the LF character (0x0A) as its linebreak character. However in code you can assign a string containing "\r" or "\n" to the Text property and the TextBox will show a new line. In fact you can assign the sequence "\r\n" and it will show a single new line (not two new lines).

Ultimately you can use the Xml character code entity to represent a \r in Xaml "&#13;" which survives the Xaml parsing process for reason which I cannot actually explain.




回答2:


In XAML you can simply use the LineBreak:

<TextBlock Name="textBlock1" >line 1 <LineBreak /> line 2</TextBlock>



回答3:


To add a line break to the Text property of a TextBox in XAML, use the ASCII character code for a linefeed as shown in the following example:

<TextBox x:Name="_test" Height="150" Text="This is line one.
This is line two." />

To add a line break to the Text property of a TextBox in code-behind, use the Environment.NewLine static value (which is the same as \r\n) as shown in the following code example:

this._test.Text = string.Format(
    "This is line one.{0}This is line two.",
    Environment.NewLine);



回答4:


If you want to display a string with a carriage return in it, just use a string with a carriage return in it:

MyTextBlock.Text = @"line 1
line2";



回答5:


Thank all.

It is working. For Silverlight TextBlock: use <lineBreak/> in the XAML of textBlock.

Thank to AnthonyWJones For Silverlight textBox, I use "\r" in the string which is used to display in TextBox.




回答6:


For a line break in a Windows Phone Silverlight TextBlock use:

"This is line one!" & vbCrLf & "This is line two!"




回答7:


<TextBox x:Name="textBox" AcceptsReturn="True" />


来源:https://stackoverflow.com/questions/4791062/how-to-represent-line-break-or-new-line-in-silverlight-textbox

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!