TextBox中的换行符

时间:2011-08-26 20:20:01

标签: c# silverlight windows-phone-7 textbox line-breaks

如何在WP7中的TextBox中获得换行符?我正在开发基于社交的应用程序(如facebook),如果我设置AcceptReturn = true,它会给我一个视觉(ui)换行符,但是当我将此文本发送到服务器时,我可以看到没有换行符。请帮我解决这个问题。我试过了

void whatsend_KeyDown(object sender, System.Windows.Input.KeyEventArgs e) {
      if (e.Key == Key.Enter) {
        whatsend.Text +="\r";//or /n,
      }
    }

但没有成功。

4 个答案:

答案 0 :(得分:6)

Windows使用\r\n表示换行符,而不是\r,但这无关紧要;请改用Environment.NewLine

另外,根据文档:

  

如果ENTER键在控件的多行版本中创建新的文本行,则为true ;如果ENTER键激活表单的默认按钮,则返回false。默认值为false。

您是否已将MultiLine设为true

编辑:啊啊,WP7 ...... here is an article I found试图在WP7中创建一个多行文本框。

答案 1 :(得分:2)

Environment.NewLine,如果它与正常开发相同。

答案 2 :(得分:2)

只需将以下范围添加到xaml代码:

AcceptsReturn="True" TextWrapping="Wrap"

类似的东西:

<TextBox x:Name="InputText" Height="200" VerticalAlignment="Top" Width="456" TextAlignment="Center" TextWrapping="Wrap" AcceptsReturn="True"/>

答案 3 :(得分:0)

我不熟悉WP7,但Windows通常使用“\r\n”(即两个字符一个接一个)来表示换行符。

如果您将两者都附加到文本中,它是否可以解决您的问题?

话虽如此,我很惊讶正在从文本框中删除键入的换行符。当你说文本在服务器上无法查看时,你的意思是什么?是不是文本没有发送到和/或记录在服务器上,或者你的服务器上的显示方法没有显示?