Ho un listbox definito così:WPF: WrapPanel in ItemsPanelTemplate espande larghezza elenco
<ListBox.ItemTemplate>
<DataTemplate>
<ItemsControl>
<!-- Contents here -->
</ItemsControl>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
mio problema è questo: Questo elenco è contenuto in un controllo griglia, e dovrebbe usare tutto lo spazio disponibile di quella cella in cui è contenuto, ma non dovrebbe forzare il genitore ad allocare PIÙ spazio. Ma ciò che accade è che una volta riempito il pannello di riepilogo, invece di avvolgere gli elementi nella riga successiva (come dovrebbe), espande semplicemente la larghezza della casella di riepilogo e nel processo impone anche la ridimensionamento della griglia principale.
Come posso ottenere il pannello involucro di rispettare la dimensione del suo genitore, e non costringerlo a espandere la sua dimensione?
Grazie in anticipo!
modifica: Un'altra cosa. Posso impostare la larghezza del wrappanel in modo esplicito per renderlo a capo, ma vorrei che il wrappanel abbia le stesse dimensioni della listbox.
Sfortunatamente non ha funzionato ... Ho provato ad impostarlo su Nascosto e Disabilitato, e comunque espande lo spazio che usa. :( Si noti che il problema non è mai stato che la casella di riepilogo è diventata più grande della griglia era in (quindi una barra di scorrimento avrebbe mostrato), il problema è che la cella della griglia è in è allargata, e la casella di riepilogo con esso. – Hallgeir
Oh, un'altra cosa: la griglia è contenuta in una griglia uniforme, può essere questo il problema? Forse l'uniformgrid non contiene la griglia e per questo si espande – Hallgeir
Nella tua domanda hai menzionato wrappanel e non uniformgrid Il mio codice risolve il tuo problema mentre spiegato nelle tue domande su wrappanels. Se anche voi avete un problema con UniformGrid come ItemsPanel in listbox, si dovrebbe scrivere un'altra domanda. –