web-dev-qa-db-ja.com

Silverlight textBoxで改行または改行を表す方法

Silverlightに設定されている特殊文字を一致させるのに苦労しています。私は次のことだけをします:

Silverlight TextBlockでLineBreakを表すには:

使用:> lineBreak <

しかし、Silverlight TextBoxで改行またはLineBreakを表すために何を使用しますか?

例:この1行が欲しいmag:これは1行です。これは2行目です

これに:

これは1行目です。 2行目です。

この\ r\nは機能していないようです。これは1行目です\ r\n

21
MilkBottle

一番上の一番下の行

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

Silverlight TextBoxの改行の奇妙さ

Xamlでリテラルテキストを使用してTextBoxのコンテンツを初期化する場合は、TextBlockと同じように、SilverlightがXamlで使用する改行文字を表す信頼できる方法が必要です。

SilverightはCR文字(0x0D-ASCII 13))を使用して、C#では文字列リテラルに\ rとして含める改行を表します。ただし、XamlはC#ではないため、\は使用できませんXamlのr。

Xamlは基本的にXMLですが、いくつかのXaml解析の奇妙さがあります。デレクが彼の答えにあるように、改行を含めるだけで、Xamlで直接は実行時に機能しません(デザイナーはそれを期待どおりに表示します)。これは、XmlがLF文字(0x0A)を改行文字として使用しているためです。ただし、コードでは、「\ r」または「\ n」を含む文字列をTextプロパティに割り当てることができます。そして、TextBoxは新しい行を表示します実際には、シーケンス "\ r\n"を割り当てることができ、1つの新しい行が表示されます(2つの新しい行ではありません)。

最終的には、Xml文字コードエンティティを使用して、\ aをXaml "&#13;"で表すことができます。これは、実際には説明できない理由でXaml解析プロセスを生き延びます。

48
AnthonyWJones

XAMLでは、単にLineBreakを使用できます。

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

XAMLでTextTextBoxプロパティに改行を追加するには、次の例に示すように、改行にASCII文字コードを使用します。

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

分離コードでTextTextBoxプロパティに改行を追加するには、次のようにEnvironment.NewLine静的値(\r\nと同じ)を使用します。次のコード例では:

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

みんなありがとう。

動いています。 Silverlightの場合TextBlocktextBlockの-​​[〜#〜] xaml [〜#〜]<lineBreak/>を使用します。

AnthonyWJones for Silverlight textBoxのおかげで、私はTextBoxでの表示に使用される文字列で"\ r"を使用しています。

2
MilkBottle

キャリッジリターンを含む文字列を表示する場合は、キャリッジリターンを含む文字列を使用します。

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

Windows Phone Silverlight TextBlockの改行には、以下を使用します。

「これは1行目です。」 &vbCrLf& "これは2行目です!"

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