はじめに

XAMLで改行? 普通に出来るでしょ?って思われるかと思います。

実際に、以下のプログラムを記述すると、改行は反映されます。
txtTextBlock.Text = "ABC\r\nDEF";
では、どの場面で改行がうまく使えないのでしょうか?

XAML側で指定したい!!


XAML側でプログラムと同じ記述をしてみると、、、
<TextBlock x:Name="txtTextBlock" Text="ABC\r\nDEF" />
そのまま表示されてしまいます。

次に、文字コードを指定してみましょう。
<TextBlock x:Name="txtTextBlock" Text="ABC&#xD;&#xA;DEF" />
これで無事に改行できます。

では、プログラムで文字コードでの指定をするとどうなるか?
txtTextBlock.Text = "ABC&#xD;&#xA;DEF";
これも、そのまま表示されてしまいます。

おわりに

簡単な内容(組み合わせ)ですが、覚えておくとよいかと思います。

調査環境

Windows ストア アプリ
VS2012
C#

更新日

2013/06/28:アップ