Silverlight文本块中的新行

时间:2010-10-28 15:29:44

标签: c# xml silverlight-4.0

我知道有些人会回复诸如<LineBreak/>之类的事情。这不是我想要的。

我想知道我是否将textblock的字符串存储在资源文件中,我是否可以对其进行一些操作以使textblock中的文本转到新行。

尝试"&lt ; LineBreak/ &gt ;"(没有空格),

尝试/r/n

尝试&#13;&#10;

没有一个选项有效,有人有想法吗?

2 个答案:

答案 0 :(得分:16)

\r\n应该做的伎俩,我认为你的斜线是错误的。即使只是\n也应该有用。

在XAML中,以下工作

<TextBlock x:Name="txtMyText" Text="Hello&#10;World"/>

虽然在这个作品背后的代码

txtMyText.Text = "Hello\nWorld";

对于资源,您需要指定xml:space =“preserve”

<system:String x:Key="message" xml:space="preserve">Hello&#10;World</system:String>

使用空间保留,您还可以执行以下操作

<system:String x:Key="message" xml:space="preserve">Hello
World</system:String>

请注意,没有多余的空格,因为它们会显示在TextBlock中,因为现在所有空白字符都变得很重要。

答案 1 :(得分:2)

刚试过SL5:

打开Resx文件 添加一个新字符串。给它一个名字(名称栏) 输入您想要的任何值(值列)。如果您需要换行,只需按SHIFT + ENTER。

在代码背后, MyTextBlock.Text = MyResource.MyItem;

您的文本块将正确显示您的换行符。