Comment représenter un saut de ligne ou une nouvelle ligne dans la zone de texte silverlight
J'ai du mal à faire correspondre les caractères spéciaux définis dans Silverlight. I seulement sur les points suivants:
Pour représenter un saut de ligne dans Silverlight TextBlock:
Utiliser : > saut de ligne
Mais Qu'est-ce que j'utilise pour représenter une nouvelle ligne ou un saut de ligne dans la zone de texte Silverlight??
Exemple: je veux cette ligne mag: c'est la première ligne. C'est la ligne deux
Dans ceci:
C'est la première ligne. C'est la ligne deux.
Il semble que ce r n ne fonctionne pas. Ce est la ligne un r n
7 réponses
La ligne du bas en haut
<TextBox Text="This is line one! This is line two!" />
La mise en ligne de la boîte de texte Silverlight
Si vous allez initialiser le contenu d'une zone de texte avec du texte littéral en Xaml d'une manière similaire à celle d'un TextBlock, vous avez besoin d'un moyen fiable pour représenter le caractère de saut de ligne que Silverlight utilise dans Xaml.
Silveright utilise un caractère CR (0x0D-ASCII 13) pour représenter un saut de ligne que vous incluez en C# dans un littéral de chaîne comme \R. Cependant, Xaml n'est pas C#, vous ne pouvez donc pas utiliser \r dans Xaml.
Xaml est fondamentalement XML mais avec quelques bizarreries d'analyse Xaml. Juste inclure un saut de ligne, comme Derek l'a fait dans sa réponse, directement dans le Xaml ne fonctionnera pas à l'exécution (bien que le concepteur l'affiche comme prévu). Vous pourriez penser que cela parce que Xml utilise le caractère LF (0x0A) comme caractère de saut de ligne. Cependant, dans le code, vous pouvez attribuer une chaîne contenant "\r " ou "\n " à la propriété Text
et la zone de texte affichera une nouvelle ligne. En fait, vous pouvez attribuer la séquence "\ r\n " et il montrera une seule nouvelle ligne (pas deux nouvelles lignes).
En fin de compte, vous pouvez utiliser L'entité de code de caractères Xml pour représenter un \r dans Xaml " "
qui survit au processus D'analyse Xaml pour une raison que je ne peux pas expliquer.
En XAML, vous pouvez simplement utiliser le saut de ligne:
<TextBlock Name="textBlock1" >line 1 <LineBreak /> line 2</TextBlock>
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'un TextBox
Dans code-behind, utilisez la valeur statique Environment.NewLine
(qui est la même que \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);
Si vous voulez afficher une chaîne avec un retour chariot, utilisez simplement une chaîne avec un retour chariot:
MyTextBlock.Text = @"line 1
line2";
Merci à tous.
Ça marche.
Pour Silverlight TextBlock
: utilisation de <lineBreak/>
dans le XAML de textBlock
.
Merci à AnthonyWJones
Pour Silverlight textBox
, j'utilise "\r" dans la chaîne de caractères qui est utilisé pour afficher dans TextBox
.
Pour un saut de ligne dans un Windows Phone Silverlight TextBlock utiliser:
" c'est la première ligne!"& vbCrLf & "C'est la ligne deux!"