更新:2007 年 11 月
控件在容器内部以不同的方式调整大小。例如,StackPanel 内部的 Button 调整大小以完全占据 StackPanel 的宽度,而 ListBox 内部的 Button 调整大小以达到 Button 的内容的大小。如果您想让 ListBox 内部的 Button 控件拉伸以填充可用的空间,则需要创建一个样式来拉伸 ListBoxItem 并将该样式应用到 ListBox 的 ItemContainerStyle。下面的示例演示如何执行此操作。
示例
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);