У меня есть панель обертки, которая будет содержать переменное количество элементов управления.WPF WrapPanel Динамическая высота
Я хочу, чтобы ориентация была вертикальной (поскольку объекты внутри имеют фиксированную ширину, но с переменной высотой).
Но проблема, с которой я столкнулась, заключается в том, что при наличии полосы прокрутки высота является inifinite, поэтому элементы никогда не обертываются во второй столбец. Полоса прокрутки необходима, так как часто будет больше объектов, чем можно разместить на одном экране. Я могу остановить это, установив фиксированную высоту, но это не приемлемое решение, так как разумная фиксированная высота будет отличаться для каждого выбора.
По существу, мне нужен WrapPanel
, высота которого динамически изменяется в зависимости от ширины панели и количества элементов, содержащихся внутри.
Для иллюстрации:
Если панель достаточно широк, чтобы показать 3 колонки будет:
| 1 5 9 |
| 2 6 - |
| 3 7 - | Высота = 4
| 4 8 - |
Но если пользователь изменяет размер окна до точки, где он может только разместить 2 колонки высота будет увеличиваться:
| 1 6 |
| 2 7 |
| 3 8 | Высота = 5
| 4 9 |
| 5 - |
Кроме того, я не уверен, насколько это возможно, но это я бы идеально, как для того, элементы horizonatally, но сохранить ориентацию по вертикали, так что они будут заказаны:
| 1 2 3 |
| 4 5 6 |
| 7 8 9 |
Может ли кто-нибудь сказать мне, как начать с этого? Я предполагаю, что это возможно с пользовательской реализацией WrapPanel
, но я немного смущен, как начать.
Спасибо,
Я не совсем уверен, что вы после этого, но увидеть, если это помогает Http: // StackOverflow. com/questions/9769618/how-can-we-set-the-wrap-point-for-the-wrappanel/9770590 # 9770590 – Phil
Возможно, это может помочь вам, WrapGridPanel: http://stackoverflow.com/questions/ 4598377/некоторые предметы-МОФ-WrapPanel-с-имеющей-A-высоты-оф –