web-dev-qa-db-fra.com

Comment représenter un saut de ligne ou une nouvelle ligne dans silverlight textBox

J'ai du mal à faire correspondre les caractères spéciaux définis dans Silverlight. Je seulement sur ce qui suit:

Pour représenter un LineBreak dans Silverlight TextBlock:

utilisez:> lineBreak <

Mais que dois-je utiliser pour représenter une nouvelle ligne ou LineBreak dans Silverlight TextBox?

Exemple: je veux ce mag d'une ligne: c'est la première ligne. C'est la ligne deux 

dans ceci:

C'est la ligne un… .. C'est la ligne deux.

il semble que cela ne fonctionne pas. C'est la première ligne\r\n

21
MilkBottle

La ligne du bas en haut

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

Linebreak Weirdness dans le Silverlight TextBox

Si vous souhaitez initialiser le contenu d'une zone de texte avec du texte littéral dans Xaml de la même manière qu'un texte, vous avez besoin d'un moyen fiable pour représenter le caractère de saut de ligne utilisé par Silverlight dans Xaml.

Silveright utilise un caractère CR (0x0D - ASCII 13) pour représenter un saut de ligne que vous incluez dans C # dans un littéral de chaîne sous la forme\r. Cependant, Xaml n’est pas C #, vous ne pouvez donc pas utiliser\Xaml.

Xaml est fondamentalement XML mais avec quelques anomalies d'analyse Xaml. Le fait d'inclure un saut de ligne, comme Derek l'a indiqué dans sa réponse, directement dans le fichier Xaml ne fonctionnera pas au moment de l'exécution (bien que le concepteur l'affiche comme prévu). Vous pensez peut-être que cela est dû au fait que XML utilise le caractère LF (0x0A) comme caractère de saut de ligne. Toutefois, dans le code, vous pouvez affecter une chaîne contenant "\ r" ou "\ n" à la propriété Text. La zone de texte affichera une nouvelle ligne. En fait, vous pouvez assigner la séquence "\ r\n" et elle affichera une seule nouvelle ligne (pas deux nouvelles lignes).

En fin de compte, vous pouvez utiliser l’entité de code de caractère XML pour représenter un\r dans Xaml "&#13;" qui survit au processus d’analyse Xaml pour une raison que je ne peux pas réellement expliquer.

48
AnthonyWJones

En XAML, vous pouvez simplement utiliser LineBreak: 

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

Pour ajouter un saut de ligne à la propriété Text d'un TextBox en XAML, utilisez le code de caractère ASCII pour un saut de ligne, comme indiqué dans l'exemple suivant:

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

Pour ajouter un saut de ligne à la propriété Text d'une TextBox dans code-behind, utilisez la valeur statique Environment.NewLine (identique à \r\n), comme indiqué dans l'exemple de code suivant:

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

Merci à tous.

Cela fonctionne . Pour Silverlight TextBlock: utilisez <lineBreak/> dans leXAMLde textBlock.

Merci à AnthonyWJones Pour Silverlight textBox, j’utilise "\ r" dans la chaîne utilisée pour afficher dans TextBox.

2
MilkBottle

Si vous souhaitez afficher une chaîne contenant un retour chariot, utilisez simplement une chaîne contenant un retour chariot:

MyTextBlock.Text = @"line 1
line2";
2
Matt Lacey

Pour un saut de ligne dans un Windows Phone Silverlight TextBlock, utilisez: 

"C'est la première ligne!" & vbCrLf & "Ceci est la ligne deux!"

1
Urban
<TextBox x:Name="textBox" AcceptsReturn="True" />
0
Zak