方法 : ListBox に合わせて ListBoxItem のサイズを設定する

更新 : 2007 年 11 月

コンテナ内でのサイズの変更を制御します。たとえば、StackPanel 内の Button のサイズは StackPanel の幅全体になりますが、ListBox 内の Button のサイズは Button のコンテンツのサイズになります。ListBox 内部の Button コントロールを使用可能な領域全体に引き伸ばす場合は、ListBoxItem を引き伸ばすスタイルを作成し、そのスタイルを ListBoxItemContainerStyle に適用する必要があります。この方法を次の例に示します。

使用例

Dim style As Style = New Style()
style.Setters.Add(New Setter(ListBoxItem.HorizontalContentAlignmentProperty, _
     HorizontalAlignment.Stretch))
Dim lb As ListBox = New ListBox()
lb.ItemContainerStyle = style
Dim lbi1 As ListBoxItem = New ListBoxItem()
Dim btn As Button = New Button()
btn.Content = "Button as styled list box item."
lbi1.Content = (btn)
lb.Items.Add(lbi1)
Style style = new Style(typeof(ListBoxItem));
style.Setters.Add(new Setter(ListBoxItem.HorizontalContentAlignmentProperty,
     HorizontalAlignment.Stretch));
ListBox lb = new ListBox();
lb.ItemContainerStyle = style;
ListBoxItem lbi1 = new ListBoxItem();
Button btn = new Button();
btn.Content = "Button as styled list box item.";
lbi1.Content = (btn);
lb.Items.Add(lbi1);