Es fällt mir schwer, die in Silverlight festgelegten Sonderzeichen zu finden. Ich nur auf folgendes:
So stellen Sie einen LineBreak in Silverlight TextBlock dar:
verwenden Sie:> lineBreak <
Aber was verwende ich, um in Silverlight TextBox eine neue Linie oder LineBreak darzustellen?
Beispiel: Ich möchte dieses einzeilige Magazin: Dies ist Zeile eins. Dies ist Zeile zwei
das sehr gut finden :
Dies ist Zeile Eins. Dies ist Zeile Zwei.
es scheint, dass\r\n nicht funktioniert. Dies ist Zeile Eins\r\n
Die unterste Zeile oben
<TextBox Text="This is line one! This is line two!" />
Linebreak Weirdness in der Silverlight-TextBox
Wenn Sie den Inhalt einer TextBox mit literalem Text in Xaml auf ähnliche Weise wie ein TextBlock initialisieren möchten, benötigen Sie eine zuverlässige Methode, um das Zeilenumbruchzeichen darzustellen, das Silverlight in Xaml verwendet.
Silveright verwendet ein CR-Zeichen (0x0D - ASCII 13), um einen Zeilenumbruch darzustellen, den Sie in C # in ein String-Literal als\r aufnehmen. Allerdings ist Xaml kein C #, daher können Sie\r nicht in Xaml verwenden.
Xaml ist grundlegend XML, jedoch mit einigen Xaml-Parsing-Kuriositäten. Nur einen Zeilenumbruch einzubauen, wie ihn Derek in seiner Antwort hat, wird direkt im Xaml zur Laufzeit nicht funktionieren (obwohl der Designer ihn wie erwartet anzeigt). Sie denken vielleicht, dass dies der Fall ist, weil Xml das Zeichen LF (0x0A) als Zeilenumbruchzeichen verwendet. Im Code können Sie der Text
-Eigenschaft jedoch einen String mit "\ r" oder "\ n" zuweisen, und die TextBox zeigt eine neue Zeile an. Sie können sogar die Sequenz "\ r\n" zuweisen, und es wird eine einzelne neue Zeile (nicht zwei neue Zeilen) angezeigt.
Letztendlich können Sie die Xml-Zeichencode-Entität verwenden, um einen\r in Xaml " "
darzustellen, der den Xaml-Analyseprozess aus Gründen überlebt, die ich nicht wirklich erklären kann.
In XAML können Sie einfach den LineBreak verwenden:
<TextBlock Name="textBlock1" >line 1 <LineBreak /> line 2</TextBlock>
Um der Text
-Eigenschaft einer TextBox
in XAML einen Zeilenumbruch hinzuzufügen, verwenden Sie den Zeichencode ASCII für einen Zeilenvorschub, wie im folgenden Beispiel gezeigt:
<TextBox x:Name="_test" Height="150" Text="This is line one.
This is line two." />
Um der Text
-Eigenschaft einer TextBox
in code-behind einen Zeilenumbruch hinzuzufügen, verwenden Sie den statischen Environment.NewLine
-Wert (der dem \r\n
entspricht), wie im folgenden Codebeispiel gezeigt:
this._test.Text = string.Format(
"This is line one.{0}This is line two.",
Environment.NewLine);
Allen danken.
Es funktioniert. Für Silverlight TextBlock
: Verwenden Sie <lineBreak/>
imXAMLvon textBlock
.
Vielen Dank an AnthonyWJones Für Silverlight textBox
verwende ich "\ r" in der Zeichenfolge, die zur Anzeige in TextBox
verwendet wird.
Wenn Sie eine Zeichenfolge mit einem Wagenrücklauf anzeigen möchten, verwenden Sie einfach eine Zeichenfolge mit einem Wagenrücklauf:
MyTextBlock.Text = @"line 1
line2";
Verwenden Sie für einen Zeilenumbruch in einem Windows Phone Silverlight TextBlock Folgendes:
"Das ist Linie eins!" & vbCrLf & "Dies ist Zeile zwei!"
<TextBox x:Name="textBox" AcceptsReturn="True" />