2011-08-26 17 views
5

¿Cómo puedo obtener un salto de línea en TextBox en WP7? Estoy desarrollando aplicaciones basadas en redes sociales (como Facebook) y si configuro AcceptReturn = true, me da un salto de línea visual (ui), pero cuando envío este texto al servidor puedo ver que no hay ningún salto de línea. Por favor ayúdame con este problema. He intentadoLinebreak en TextBox

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

pero sin éxito.

Respuesta

5

Windows usa \r\n para saltos de línea, no \r, pero eso es irrelevante; use Environment.NewLine en su lugar.

También, por los documentos:

cierto si la tecla ENTER crea una nueva línea de texto en una versión de varias líneas del control; falso si la tecla ENTER activa el botón predeterminado para el formulario. El valor predeterminado es falso.

¿Ha establecido MultiLine en ?

EDITAR: Ahhh, WP7 ... here is an article I found que intenta crear un cuadro de texto multilínea en WP7.

+0

Cuando envío texto, el salto de línea en el cuadro de texto se muestra como espacio. – SevenDays

+1

@wsevendays: ¿Es su cuadro de texto multilínea, es decir, ha establecido 'MultiLine = true'? Si no, 'AcceptsReturn' no tiene ningún efecto según la documentación. –

+0

El control TextBox en WP7 no tiene el valor "MultiLine". – SevenDays

0

No estoy familiarizado con WP7 pero Windows en general usa "\r\n" (es decir, ambos caracteres uno después del otro) para indicar un salto de línea.

Si agrega ambos a su texto, ¿resuelve su problema?

Habiendo dicho eso, me sorprende que los saltos de línea mecanografiados se eliminen del cuadro de texto. Cuando dice que el texto no se puede ver en el servidor, ¿qué quiere decir? ¿Es que el texto no se envía y/o graba en el servidor o que su método de visualización en el servidor no lo muestra?

+0

El texto en el cuadro de diálogo (que sea de servicios como Facebook) se muestra sin salto de línea, solamente con el espacio . – SevenDays

2

Environment.NewLine si es lo mismo que el desarrollo normal.

+0

Sin embargo, esto es mucho más largo que "\ r \ n" y aumenta mucho tu código si tienes muchos de ellos. ¿Cuál es la diferencia y por qué no usarías simplemente "\ r \ n"? – qJake

+0

¿A quién le importa si es más detallado? Habría arreglado tu error ya que usaste el personaje de nueva línea incorrecto. Es una constante, potencialmente podría cambiar (incluso si eso es poco probable), solo úsala. A nadie le importa cuán corto es tu código, les importa si realmente funciona. Si no te gusta escribirlo, primero guárdalo en una variable; 'var nl = Environment.NewLine'. –

+0

Cuando envío texto, el salto de línea en el cuadro de texto se muestra como espacio y la nueva línea se inserta al principio del cuadro de texto, no al final. – SevenDays

2

sólo tiene que añadir a continuación el alcance de código XAML:

AcceptsReturn="True" TextWrapping="Wrap" 

algo como esto:

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