WPF Какой контейнер следует использовать - PullRequest
0 голосов
/ 20 марта 2009

хорошо, что я хочу, это, скажем, у меня есть «панель» с шириной 100 и высотой 100

Теперь я хочу разместить X объектов размером 20, поэтому, когда я добавляю больше 5 элементов, все элементы должны быть в одной строке

| Элемент1 | Элемент2 | Item3 | Item4 | Item5 |

Теперь, если бы я добавил еще один, я бы хотел, чтобы он разбился на 2 строки с 3 элементами в каждой строке

| Элемент1 | Элемент2 | Item3 |

| Item4 | Item5 | Item6 |

и я думаю, вы поняли, я попробовал панель стека, но я не могу заставить ее работать так, как я хочу ..

Edit:
ну, не имеет значения, что Mutch, если каждая строка имеет одинаковое количество элементов .. поэтому wrapPanel должна выполнить следующую задачу -> Здесь

Ответы [ 4 ]

2 голосов
/ 20 марта 2009

Нет стандартной панели WPF, которая сделает это за вас. WrapPanel подходит близко, но это не гарантирует, что ваши ряды будут ровными. Лучше всего реализовать собственную панель. Вот хороший пример для codeproject

1 голос
/ 20 марта 2009

WrapPanel должен соответствовать вашим потребностям:

Элементы управления расположены в стек или строка в зависимости от ориентации имущество. В дополнение к укладке, WrapPanel обеспечивает поддержку упаковки для содержащихся элементов управления. Таким образом, если больше элементы управления добавляются в WrapPanel, чем может отображаться по ширине WrapPanel, они обернуты вокруг сформировать дополнительный стек или строку.

Если честно, я сам не выполнял это конкретное требование.

1 голос
/ 20 марта 2009

Полагаю, вы можете использовать WrapPanel ... но тогда вы получите 2 строки (5 предметов и 1 предмет) ..

Что бы произошло, если бы у вас было, скажем .. 7 предметов?

0 голосов
/ 20 марта 2009

Я не думаю, что вы сможете получить контейнерный элемент управления, который делает это автоматически. Вы можете иметь Grid с двумя рядами и StackPanel в каждом ряду. Когда вы добавляете элементы, вам нужно программно выбрать, в какую StackPanel поместить каждый элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...