WPFの TextBlock や Label や Bottun などのコントロールで表示するテキストを改行していという事があると思います。
WPFではコントロールのテキストを改行して表示する為の方法がいくつかあります。
ここではその方法について解説します。
<LineBreak/>を利用する方法
XAMLでは改行を表す<LineBreak/>という要素があります。
<TextBlock>のコンテンツとして<LineBreak/>を入れ込む事で改行する事ができます。
<Label> や <Button> のようなコントロールでは子要素に<TextBlock>を入れて使います。
<Window x:Class="WpfTest1.TestWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfTest1" mc:Ignorable="d" Title="TestWindow" Height="300" Width="300"> <WrapPanel> <TextBlock> 1行目<LineBreak /> 2行目<LineBreak /> 3行目 </TextBlock> <Label> <TextBlock> 1行目<LineBreak /> 2行目<LineBreak /> 3行目 </TextBlock> </Label> <Button> <TextBlock> 1行目<LineBreak /> 2行目<LineBreak /> 3行目 </TextBlock> </Button> </WrapPanel> </Window>
特殊文字コードを使う例
もしくは
という特殊文字コードを使って改行する事ができます。
※ と
は同じ意味です
※#の場合は10進数表記で改行を示す10(16進数の0x0A)を指定します
※#xの場合は16進数表記で改行を示すA(10進数の10)を指定します
<LineBreak/>は記述が長くなり面倒ですが、特殊文字コードを使えば楽に記述できます。
<Window x:Class="WpfTest1.TestWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfTest1" mc:Ignorable="d" Title="TestWindow" Height="300" Width="300"> <WrapPanel> <TextBlock Text="1行目 2行目 3行目"/> <Label Content="1行目 2行目 3行目"/> <Button Content="1行目
2行目
3行目"/> </WrapPanel> </Window>
ソースコードから改行する方法
C#のソースコートから改行を含んだ文字列を指定する場合は改行コード「\n」を使います。
public TestWindow() { InitializeComponent(); TestTextBlock.Text = "1行目\n2行目\n3行目"; TestLabel.Content = "1行目\n2行目\n3行目"; TestButton.Content = "1行目\n2行目\n3行目"; }
コメントをお書きください