2010-05-12 20 views
15

У меня есть ListBox, чья ItemsPanel я заменяю WrapPanel. В WrapPanel теперь хранятся данные ListboxItems. Каждый элемент имеет переменный размер текста в нем, придавая каждому элементу разную ширину. Однако я хочу, чтобы ширина была постоянной, чтобы все элементы имели ту же ширину, что и элемент с самым длинным текстом. Возможно ли это?WPF WrapPanel - все элементы должны иметь одинаковую ширину

ответ

16

Поместите каждый элемент в сетку с одной строкой, с одной колонкой (авто шириной) и назовите столбец. Установите Grid.IsSharedSizeScope в ListBox, и все сетки будут иметь одинаковую ширину.

+1

+1 это определенно работает - просто попробовал. –

+1

+1. При этом я мог бы сделать последний шаг с изменением моего gui из (горизонтального) 'StackPanel' внутри' ScrollViewer' с элементами переменной величины в 'WrapPanel' со всеми элементами, имеющими одинаковый размер. Действительно замечательный материал. –

+0

Эффект изумительный ... даже если он чувствует себя немного взломанным, он бьет, делая новый пользовательский контроль для этого дерьма ... хе-хе – Assimilater

Смежные вопросы