.NET TIPS [WPF、Silverlight 2]リストボックスの幅全体に項目を表示するには?[XAML]デジタルアドバンテージ 遠藤 孝信2010/02/18 |
![]() |
|
WPFでは、リストボックスに追加された項目が、リストボックスの幅よりも小さい場合、リストボックスのHorizontalContentAlignment属性に「Stretch」を設定することにより、項目を幅全体に表示できる(既定値は「Left」)。
以下の画面は、「TIPS:[Silverlight 2]TextBlockコントロールに背景色を設定するには?」で掲載しているXAMLコードをWPFで使用した場合の画面だ(HorizontalContentAlignment属性は未設定)。
![]() |
リストボックスのHorizontalContentAlignment属性が未設定 |
既定値のLeftが設定されている。 |
上記のリストボックスのHorizontalContentAlignment属性を「Stretch」に設定すると、次のような画面になる。
![]() |
リストボックスのHorizontalContentAlignment属性を「Stretch」に設定 |
念のために、WPFのXAMLコードも以下に示しておく。
| |
WPFアプリケーションのサンプル・コード(XAML) |
Silverlightでは項目のスタイルを変更
Silverlightにおいても、WPFと同じようにリストボックスにHorizontalContentAlignment属性が用意されているが、これを「Strech」に設定しても、WPFのように項目は幅いっぱいに表示されない(バグだと思われる)。
Silverlightの場合には、以下のXAMLコードのように、リストボックスのListBox.ItemContainerStyleプロパティを記述して、リストボックスの項目であるListBoxItemのHorizontalContentAlignment属性を設定すればよい。
| |
Silverlightアプリケーションのサンプル・コード(XAML) |
このアプリケーションを実行すると以下のような画面となる。
![]() |
Silverlightアプリケーションの実行画面 |
ItemContainerStyleプロパティは、リストボックスなどの項目コレクションを表示するアイテム・コントロール(ItemsControlクラスの派生クラス)で生成される項目に対して、スタイルを適用するためのものだ。
カテゴリ:WPF 処理対象:ListBoxコントロール カテゴリ:Silverlight 2 処理対象:ListBoxコントロール 使用ライブラリ:ListBoxコントロール(System.Windows.Controls名前空間) 使用ライブラリ:ListBoxItemクラス(System.Windows.Controls名前空間) 関連TIPS:TextBlockコントロールに背景色を設定するには? |
![]() |
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
![]() |
|
|
|
![]() |