Compartir a través de


Cómo: Ajustar el tamaño de un elemento ListBoxItem para llenar un control ListBox

Actualización: noviembre 2007

El tamaño de los controles se ajusta de manera diferente dentro de los contenedores. Por ejemplo, el tamaño de un control Button dentro de un control StackPanel se ajusta al ancho completo del control StackPanel, pero el tamaño de un control Button dentro de un control ListBox se ajusta al contenido de Button. Si desea que los controles Button dentro de un control ListBox se expandan de modo que rellenen el espacio disponible, deberá crear un estilo para expandir el elemento ListBoxItem y aplicar el estilo a la propiedad ItemContainerStyle del control ListBox. En el ejemplo siguiente se muestra cómo hacerlo:

Ejemplo

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);