trapemiyaの日記

hatenablogが新しくなったんで新規一転また2019年1月からちょこちょこ書いてます。C#中心のプログラミングに関するお話です。

WPFのコマンドボタン等の表示で改行する方法のまとめ

WPFのコマンドボタン等の表示で改行する方法として、まずXAMLだと以下の5つの方法を思いつきます。

■1つめ 改行位置に
を使う

<Button Text="1行目の文字列&#xa;2行目の文字列" />
■2つめ 改行位置に&#10;を使う

<Button Text="1行目の文字列&#10;2行目の文字列" />
■3つめ 改行位置に&#13;を使う

<Button Text="1行目の文字列&#13;2行目の文字列" />
■4つめ <LineBreak />を使う

<Button>
    <TextBlock>1行目の文字列<LineBreak />2行目の文字列</TextBlock>
</Button>
■5つめ xml:space="preserve"を使う

<Button xml:space="preserve">1行目の文字列
2行目の文字列
</Button>

1つ目から3つ目まではパターンは一緒ですね。特に、&#xa;と&#10;は16進数表示か10進数表示かの違いでしかなく・・・

コードから指定する場合は、¥nを使います。

button1.Content = "1行目の文字列¥n2行目の文字列";

あと、改行位置を指定するわけではなく、右端に来たら単に折り返すには以下のようにします。場合によっては有効かも。

<Button>
    <TextBlock TextWrapping="Wrap" Text="文字列が右端で折り返します" />
</Button>

他にあれば教えて下さい。