/ / WPF Jaki kontener powinienem użyć - wpf, layout

WPF Jaki kontener powinienem użyć - wpf, layout

dobrze, co chcę, to powiedzmy, że mam "panel" o szerokości 100 i wysokości 100

teraz chcę umieścić obiekty X o rozmiarze 20, więc gdy dodaję więcej 5 elementów, wszystkie elementy powinny znajdować się w jednej linii

| Pozycja1 | Pozycja2 | Pozycja3 | Pozycja4 | Pozycja5 |

teraz, gdybym dodał jeszcze jeden, to chcę podzielić go na 2 linie z 3 pozycjami w każdym rzędzie

| Pozycja1 | Pozycja2 | Pozycja3 |

| Item4 | Item5 | Item6 |

i cóż, domyślam się, że masz rację, iv próbowałem panelu stosu, ale nie mogę go zmusić do pracy tak, jak chcę ...

Edytować:
cóż, nie ma znaczenia, że ​​mutch, jeśli każdy wiersz ma taką samą ilość pozycji ... więc wrapPanel powinien wykonać zadanie następny problem -> Tutaj

Odpowiedzi:

2 dla odpowiedzi № 1

Nie ma standardowego panelu WPF, który zrobi to za Ciebie, WrapPanel jest blisko, ale nie upewni się, że twoje rzędy są równe. Najlepiej jest zaimplementować własny panel. Oto dobry przykład na codeproject


1 dla odpowiedzi nr 2

The WrapPanel powinien odpowiadać Twoim potrzebom:

Kontrolki są umieszczone w a stos lub rządw oparciu o Orientację własność. Oprócz układania w stos WrapPanel zapewnia obsługę owijania dla zawartych kontroli. Tak więc, jeśli więcej formanty są dodawane do WrapPanel niż może być wyświetlany przez szerokość WrapPanel, są owinięte wokół tworzą dodatkowy stos lub rząd.

Szczerze mówiąc, nie próbowałem tego konkretnego wymagania osobiście.


1 dla odpowiedzi nr 3

Myślę, że możesz użyć WrapPanel ... ale wtedy dostaniesz 2 linie, (5 przedmiotów i 1 przedmiot) ..

Co by się stało, gdybyś miał, powiedzmy, 7 przedmiotów?


-1 dla odpowiedzi № 4

Nie sądzę, że będziesz w stanie zdobyć kontenerkontrola, która robi to automatycznie. Możesz mieć Grid z dwoma rzędami i StackPanel w każdym rzędzie. Podczas dodawania elementów trzeba programowo wybrać, który StackPanel ma włożyć każdy element.