¿Cómo obtener un ListBox ItemTemplate para estirar horizontalmente el ancho completo de ListBox?

Quiero que los ListItems se extiendan con su fondo naranja en todo el ancho del Listbox.

Actualmente solo son tan anchos como el Nombre + Apellido.

Establecí cada elemento que puedo: HorizontalAlignment = “Stretch”.

Quiero que el fondo de ListboxItems se expanda a medida que el usuario extiende el Listbox, así que no quiero poner valores absolutos.

¿Qué debo hacer para que el color de fondo de ListBoxItems llene el ancho de ListBox?

                      

Estoy seguro de que este es un duplicado, pero no puedo encontrar una pregunta con la misma respuesta.

Agregue HorizontalContentAlignment="Stretch" a su ListBox. Eso debería hacer el truco. Solo tenga cuidado con el autocompletado porque es muy fácil obtener la HorizontalAlignment por error.

Encontré otra solución aquí , ya que encontré ambas publicaciones …

Esto es de la respuesta de Myles:

    

Esto funcionó para mí.

Si sus artículos son más anchos que el ListBox , las otras respuestas aquí no serán de ayuda: los artículos en el ItemTemplate permanecen más amplios que el ListBox .

La solución que funcionó para mí fue deshabilitar la barra de desplazamiento horizontal, que, al parecer, también le dice al contenedor que todos esos elementos permanezcan tan anchos como el cuadro de lista.

Por lo tanto, la solución combinada para obtener elementos de ListBox que son tan amplios como el cuadro de lista, ya sean más pequeños y necesiten alargamiento, o más amplios y necesiten envolverse, es el siguiente:

  

( créditos para la idea de la barra de desplazamiento )

Como el borde se usa solo para la apariencia visual, puede colocarlo en ControlTemplate de ListBoxItem y modificar las propiedades allí. En ItemTemplate, puede colocar solo el StackPanel y el TextBlock. De esta forma, el código también permanece limpio, ya que la apariencia del control se controlará a través de ControlTemplate y los datos que se mostrarán se controlarán a través de DataTemplate.

La solución para mí fue establecer la propiedad HorizontalAlignment="Stretch" en ItemsPresenter dentro de ScrollViewe r ..

Espero que esto ayude a alguien…

          

También tuve el mismo problema, como una solución rápida, utilicé blend para determinar cuánto relleno se estaba agregando. En mi caso, era 12, así que usé un margen negativo para deshacerme de él. Ahora todo se puede centrar correctamente

Intereting Posts