TextBlock内で改行しよう。

TextBlockは、編集しない表示のみの文字列を表示するのに良く使われる。
バインディングの場合は、素直に改行コード(System.Environment.NewLine)を設定すれば、改行してくれる。
あまりやらないけど、画面上に説明文的な文字列をベタで載せるようなときには、どうすれば良いか?をメモしておく。
<Window x:Class="TawamureDays.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<StackPanel>
<TextBlock>
TextBlock内での改行は、<LineBreak/>
&lt;LineBreak/&gt;を使います。
</TextBlock>
</StackPanel>
</Grid>
</Window>
サンプルにも書いてある通り、LineBreakで改行できる。

20120830

TextBlockブロックで囲まれた部分(文字列)は、TextPropertyではなく。Inlineプロパティに設定される。このInlinesプロパティ内で使えるのは、

Run
Underline
Hyperlink
Bold
Italic
Span

等がある。上のサンプルに追加してみた。
<Window x:Class="TawamureDays.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<StackPanel>
<TextBlock>
TextBlock内での改行は、<LineBreak/>
&lt;LineBreak/&gt;を使います。
</TextBlock>
<TextBlock>
<Span Background="Aquamarine">Spanの中にある。</Span><LineBreak/>
<Bold FontFamily="Arial">Boldの中にある。</Bold><LineBreak/>
<Italic>Boldの中にある。</Italic><LineBreak/>
<Hyperlink>http://tawamuredays.blog.fc2.com/</Hyperlink><LineBreak/>
<Underline FontSize="20">Underlineの中にある。</Underline><LineBreak/>
<Run Foreground="Aqua">Runの中にある</Run>
</TextBlock>
</StackPanel>
</Grid>
</Window>

実行すると↓のような感じ。
メニュー画面とかの説明文や、更新履歴を表示するときなんかに使えそう?
20120830_2
ちなみに、上のSpanやらItalicやらは、C#コード上でも使うことができる。
TextBlock.Inlines Property
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0


この記事へのコメント

コメントの投稿

非公開コメント


サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m