Come ottenere ListBox ItemTemplate per allungare orizzontalmente l’intera larghezza del ListBox?

Voglio che ListItems estenda con il loro sfondo arancione l’intera larghezza della Listbox.

Attualmente sono larghi solo come FirstName + LastName.

Ho impostato ogni elemento ansible per: HorizontalAlignment = “Stretch”.

Voglio che lo sfondo di ListboxItems si espanda mentre l’utente estende la casella di riepilogo quindi non voglio inserire valori assoluti.

Cosa devo fare in modo che il colore di sfondo di ListBoxItems riempia la larghezza del ListBox?

                      

Sono sicuro che questo è un duplicato, ma non riesco a trovare una domanda con la stessa risposta.

Aggiungi HorizontalContentAlignment="Stretch" al tuo ListBox. Questo dovrebbe fare il trucco. Basta fare attenzione con il completamento automatico perché è così facile ottenere HorizontalAlignment per errore.

Ho trovato un’altra soluzione qui , dato che mi sono imbattuto in entrambi i post …

Questo è dalla risposta Myles:

    

Questo ha funzionato per me.

Se i tuoi articoli sono più larghi del ListBox , le altre risposte qui non saranno d’aiuto: gli articoli nel ItemTemplate restano più larghi del ListBox .

La correzione che ha funzionato per me era disabilitare la barra di scorrimento orizzontale, che, a quanto pare, dice anche al contenitore di tutti quegli elementi di rimanere solo la larghezza della casella di riepilogo.

Quindi la correzione combinata per ottenere elementi ListBox larghi quanto la casella di riepilogo, sia che siano più piccoli e che necessitino di allungamento, o più ampi e che necessiti di un wrapping, è la seguente:

  

( crediti per l’idea della barra di scorrimento )

Poiché il bordo viene utilizzato solo per l’aspetto visivo, è ansible inserirlo nel ControlTemplate di ListBoxItem e modificarne le proprietà. Nel ItemTemplate, è ansible posizionare solo StackPanel e TextBlock. In questo modo, il codice rimane pulito, poiché l’aspetto del controllo sarà controllato tramite il ControlTemplate ei dati da mostrare saranno controllati tramite DataTemplate.

La soluzione per me era impostare la proprietà HorizontalAlignment="Stretch" su ItemsPresenter all’interno di ScrollViewe r ..

Spero che questo aiuti qualcuno …

          

Ho anche avuto lo stesso problema, come soluzione rapida, ho usato la fusione per determinare quanta imbottitura veniva aggiunta. Nel mio caso era 12, quindi ho usato un margine negativo per sbarazzarmene. Ora tutto può ora essere centrato correttamente