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

21
demandé sur Dante is not a Geek 2011-01-25 10:47:52

7 réponses

La ligne du bas en haut

<TextBox Text="This is line one!&#13;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 "&#13;" qui survit au processus D'analyse Xaml pour une raison que je ne peux pas expliquer.

48
répondu AnthonyWJones 2013-06-05 07:50:31

En XAML, vous pouvez simplement utiliser le saut de ligne:

<TextBlock Name="textBlock1" >line 1 <LineBreak /> line 2</TextBlock>
18
répondu Ahmet 2011-01-25 10:05:19

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);
10
répondu Derek Lakin 2011-01-25 09:56:36

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";
2
répondu Matt Lacey 2011-01-25 09:53:48

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.

2
répondu MilkBottle 2013-11-18 09:56:34

Pour un saut de ligne dans un Windows Phone Silverlight TextBlock utiliser:

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

1
répondu Urban 2012-01-31 00:08:58
<TextBox x:Name="textBox" AcceptsReturn="True" />
0
répondu Zak 2015-03-24 01:57:35