TOC

This article has been localized into Polish by the community.

Panele:

Wprowadzenie do paneli w WPF

Panele są jednym z najważniejszych typów kontrolek w WPF. Stanowią one kontenery dla innych kontrolek oraz zarządzają układem okien i stron. Kiedy okno bądź strona może posiadać tylko jedno dziecko wtedy wykorzystujemy panel do podzielenia dostępnej przestrzeni na mniejsze kawałki z których każdy może zawierać inną kontrolkę bądź panel (który, nota bene, również jest kontrolką).

Dostępnych jest kilka różnych typów paneli, gdzie każdy z nich różni się sposobem kontroli i uporządkowania elementów podrzędnych. Wybranie odpowiedniego panelu jest podstawą aby uzyskać wymagany układ, choć na początku przygody z WPF nie jest to proste. W następnych akapitach opiszemy kolejno każdy z dostępnych paneli i podpowiemy kiedy najlepiej go użyć. Po tym krótkim wstępie możesz przeskoczyć od razu do rozdziału opisującego wybrany przez ciebie panel, gdzie będzie on opisany z szczegółami.

Płótno (Canvas)

Prosty panel, który imituje zachowanie WinForms. Pozwala na dokładne określenie położenia każdego z elementów podrzędnych, dając Ci pełną kontrolę nad układem. Nie jest to najelastyczniejsze rozwiązanie ponieważ każdy element musisz samodzielnie ułożyć i upewnić się, że przylegają w sposób jaki chcesz. Tego panelu używaj tylko wtedy, gdy potrzebujesz pełnej kontroli nad pozycją dzieci.

Panel zwijający (WrapPanel)

WrapPanel ustawia swoje dzieci jedno obok drugiego w poziomie (domyślnie) bądź w pionie tak długo aż zabraknie mu miejsca, po czym przejdzie do nowej linii i będzie kontynuował swoje działanie. Używaj go, gdy potrzebujesz poziomej lub pionowej listy, która automatycznie zawinie się do nowej lini gdy zajdzie taka potrzeba.

Stos (StackPanel)

Stack Panel zachowuje się podobnie do WrapPanel z tą różnicą, że zamiast przenosić nowy element do kolejnej lini, sam się rozszerza (o ile to możliwe) tworząc miejsce na nowe dziecko. Podobnie jak WrapPanel może układać elementy podrzędne w pionie i w poziomie, jednak zamiast ujednolicać rozmiar wszystkich dzieci, tak aby ich wysokość i szerokość były takie same jak największego elementu, każdy z elementów jest rozciągany tak, aby zajął całą dostępną przestrzeń w pionie lub poziomie. Uzywaj StackPanel wszędzie tam gdzie potrzebujesz aby kontrolki zajęły całe dostępne miejsce bez zawijania na nowe linie.

Panel dokujący (DockPanel)

DockPanel pozwala Ci dokować dzieci do górnej, dolnej, lewej i prawej strony tego panelu. Domyślnie ostatnia kontrolka, jeśli nie ma określonej pozycji, wypełni cała pozostałą przestrzeń . Można osiągnąć ten sam efekt poprzez wykorzystanie siatki (Grid) jednak w prostrzych sytuacjach DockPanel będzie łatwiejszy w użyciu. Używaj DockPanel tam gdzie potrzeba zadokować jedną lub kilka kontrolek, tak aby podzielić dostępna przestrzeń na jasno określone części.

Siatka (Grid)

Siatka (Grid) jest prawdopodobnie najbardziej złożonym typem panelu. Siatka może zawierać wiele rzędów i kolumn. Kolumnom można zdefiniować szerokość, a wierszom wysokość i to na kilka różnych sposobów: bezpośrednio w liczbie pikseli, w procencie dostępnego miejsca jak i w sposób automatyczny - gdzie rozmiar zostanie dostosowany w zależności od zawartości. Użyj Grid wszędzie tam, gdzie pozostałe panele są niewystarczające lub nadmiernie komplikują strukturę widoku, czyli tam gdzie potrzeba wielu wierszy i kolumn w połączeniu z innymi panelami.

Siatka jednolita (UniformGrid)

UniformGrid jest podobna do zwykłej siatki (Grid) - też może składać się z wielu rzędów i kolumn, jednak z jedną istotną różnicą: wszystkie wiersze i kolumny będą miały ten sam rozmiar! Używaj tego tam, gdzie potrzebujesz siatki jednak bez konieczności określania różnego rozmiaru dla poszczególnych komórek.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!