it-swarm.com.de

So stellen Sie Zeilenumbruch oder neue Zeile in der silverlight-Textbox dar

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

21
MilkBottle

Die unterste Zeile oben

<TextBox Text="This is line one!&#13;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 "&#13;" darzustellen, der den Xaml-Analyseprozess aus Gründen überlebt, die ich nicht wirklich erklären kann.

48
AnthonyWJones

In XAML können Sie einfach den LineBreak verwenden: 

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

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);
10
Derek Lakin

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.

2
MilkBottle

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";
2
Matt Lacey

Verwenden Sie für einen Zeilenumbruch in einem Windows Phone Silverlight TextBlock Folgendes: 

"Das ist Linie eins!" & vbCrLf & "Dies ist Zeile zwei!"

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