|
.NET TIPS [WPF、Silverlight 2]リストボックス内でTextBlockコントロールの文字列を折り返すには?[XAML]デジタルアドバンテージ 遠藤 孝信2010/02/04 |
![]() |
|
|
|
テキストを表示するためのTextBlockコントロールでは、TextWrapping属性に「Wrap」を指定することにより、コントロールの幅に合わせてテキストを折り返して表示できる(既定値は「NoWrap」)。
しかし、リストボックスの項目としてTextBlockコントロールを使用する場合、TextWrappingプロパティに「Wrap」を設定しても、折り返し表示されない(代わりにリストボックスに横スクロールバーが現れる)。
以下は、その状態を示すためのWPFアプリケーションのサンプル・コード(XAMLコード)と、その実行画面である。
| |
| WPFアプリケーションのサンプル・コード(XAML) |
![]() |
| 上記サンプル・コードの実行画面 |
| 折り返し設定にもかかわらず、長いテキストは折り返されず、代わりにリストボックスに横スクロールバーが付く。 |
これは、既定ではリストボックスが横スクロール可能(=横幅のサイズが無制限)であるため)、TextBlockコントロールでの折り返し表示が不要と判断されるためだ。
このようなケースでテキストを折り返し表示するには、リストボックスで横スクロールバーの表示を禁止すればよい。これには、ScrollViewer.HorizontalScrollBarVisibility属性を「Disable」に設定すればよい(既定値は「Auto」)
以下は、これを行った場合のWPFアプリケーションのサンプル・コード(XAMLコード)と、その実行画面である。
| |
| テキストを折り返し表示するサンプル・コード(XAML) |
![]() |
| 上記サンプル・コードの実行画面 |
| 長いテキストは折り返され、リストボックスには横スクロールバーが表示されない。 |
以上はWPFアプリケーションのコードや画面で説明したが、Silverlightでもまったく同様の設定により、リストボックス内でのTextBlockコントロールの表示を折り返すことができる。![]()
| カテゴリ:WPF 処理対象:TextBlockコントロール カテゴリ:Silverlight 2 処理対象:TextBlockコントロール 使用ライブラリ:TextBlockコントロール(System.Windows.Controls名前空間) 使用ライブラリ:ListBoxコントロール(System.Windows.Controls名前空間) |
| 「.NET TIPS」 |
TechTargetジャパン
Insider.NET フォーラム 新着記事
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
@IT 新着記事
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
お勧め求人情報
転職/派遣情報を探す
**先週の人気講座ランキング**
〜 Android編 〜
ホワイトペーパー(TechTargetジャパン)
ソリューションFLASH




