У меня есть ItemsControl, и я хочу, чтобы данные вводились в два столбца. Когда пользователь изменяет размер до ширины меньше, чем ширина второго столбца, элементы второго столбца должны переноситься в первый столбец. Что-то вроде UniformGrid, но с оберткой.
Мне удалось использовать для этого WrapPanel. Но я вынужден манипулировать и жестко кодировать ItemWidth и MaxWidth WrapPanel для достижения двух столбцов и упаковки. Это не очень хорошая практика.
Есть ли способ установить максимальное количество столбцов или, другими словами, позволить нам решить, в какой момент WrapPanel должен начать перенос?
Некоторый просмотр в Интернете показал, что WrapGrid в Windows 8 Metro имеет эту property. У кого-нибудь есть такая реализация в WPF?
WrapPanel
... рисовать каждый элемент, пока следующий элемент не подходит, а затем переносить его на новую строку. Вы должны использоватьItemWidth
иWrapPanel.Width
(илиMaxWidth
), чтобы указатьWrapPanel
, когда завершать. - person Rachel   schedule 19.03.2012