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行目";
}

コメント
コメントを投稿