piątek, 4 maja 2012

70-511 Rozdział 1 - Tworzenie interfejsu użytwkownika - Panele i układ

W tej części zajmiemy się powtórką związaną z kontenerami wykorzystywanymi podczas ustawiania kontrolek na formatce.

Podstawowe właściwości wszystkich kontrolek związanych z układem:
  • FlowDirection - kierunek w którym tekst jak i zawartość innych kontrolek będzie wyświetlany
  • Height - wysokość; domyślnie Auto
  • HorizontalAlignment - wyrównanie w poziomie (chodzi o rodzica kontrolki - parent)
  • HorizonalContentAlignment - wyrównanie zawartości kontrolki
  • Margin - margines
  • MaxHeight - maksymalna wysokość
  • MaxWidth - maksymalna szerokość
  • MinHeight - minimalna wysokość
  • MinWidth - minimalna szerokość
  • Padding - ilość spacji pomiędzy kontrolką i kontrolkami przechowywanymi w niej
  • VerticalAlignment - położenie pionowe
  • VerticalContentAlignment - położenie pionowe elementów wewnątrz kontrolki
  • Width - szerokość

Grid
Najczęściej używana kontrolka. Pozwala na definiowanie wierszy i kolumn.
Kontrolki wewnątrz Grid-a otrzymują dodatkowe właściwości które mówią w których kolumnach i wierszach mają się znaleźć. Właściwości te to:
  • Grid.Row - wiersz
  • Grid.Column - kolumna
  • Grid.RowSpan - ile wierszy ma zająć kontroka
  • Grid.ColumnSpan - ile kolumn ma zająć
GridSplitter - kontrolka umożliwiająca zmienianie wielkości wierszy i kolumn podczas działania programu. Najważniejsze właściwości GridSplitter:
  • Grid.Column - określa w której kolumnie znajdzie się GridSplitter
  • Grid.ColumnSpan - określa przez ile kolumn ma przebiegać GridSplitter - dla poziomego GridSplittera jego wartość powinna być równa ilości zdefiniowanych kolumn w Gridzie
  • Grid.Row - określa w którym wierszu ma się znaleźć GridSplitter
  • Grid.RowSpan - określa przez ile wierszy ma przebiegać GridSplitter - dla pionowego GridSplittera jego wartość powinna być równa ilości zdefiniowanych wierszy w Gridzie
  • Height - określa wysokość GridSplittera - dla pionowego powinna ona wynosić Auto
  • HorizontalAlignment - określa poziome położenie GridSplittera. Dla poziome powinna mieć wartość Stretch, dla pionowego - Top lub Bottom
  • Margin - Określa margines pomiędzy GridSplitterem a kontrolkami - typowo 0
  • ResizeBehavior - określa które kolumny lub wiersze są przeskalowane w stosunku do kolumny lub wiersza, dla których GridSplitter jest zdefiniowany. Domyślnie BasedOnAlignment, który określa zmianę rozmiaru na podstawie wierszy i kolumn do których przylega GridSplitter
  • ResizeDirection - określa czy zwiększane są kolumny/wiersze. Domyślnie ustawione jest Auto co jest równoważne zmianie wielkości na podstawie pozycji GridSplittera
  • ShowsPreview - decyduje czy GridSplitter ma aktualizować wielkość kolumny.wiersza w czasie interakcji z użytkownikiem
  • VerticalAlignment - Ustala poziome ułożenie GridSplittera. Dla pionowego ustawienie powinno mieć wartość Stretch, dla poziomego Left or Right
  • Width - określa szerokość GridSplittera. Dla poziomego ustawienie powinno mieć wartość Auto  

Lista kroków które należy wykonać aby poprawnie wstawić GridSplitter:
  1. Przeciągamy z przybornika kontrolkę GridSplittera do komórki w której chcemy żeby się znalazł
  2. Ustawiamy jego margines na 0
  3. Dla pionowego GridSplittera ustawiamy właściwość VerticalAlignment na Stretch. Dla poziomego ustawiamy HorizontalAlignment na Stretch. Drugą właściwość ustawiamy tak jak chcemy aby zachowywał się nasz GridSplitter
  4. Dla poziomego GridSplittera ustawiamy właściwość Width na Auto a Height na 2 lub więcej. Dla pionowego ustawiamy odpowiednio właściwość Height.
  5. Dla pionowego ustawiamy właściwość Grid.RowSpan na ilość wierszy w Gridzie którym się znajduje dla poziomego Grid.ColumnSpan na ilość kolumn


UniformGrid Control
Tworzy jednolity Grid, którego komórki mają jednakową wielkość. Możemy ustawić ilość wierszy i kolumn w nim. Dodając kolejne kontrolki do niego są wstawiane do kolejnych komórek.


StackPanel
Ustawia kontrolki jak na stosie - jedna po drugiej. Możliwe jest dodawanie ich w orientacji pionowej jak i poziomej poprzez właściwość Orientation


WrapPanel
Dodaje kolejne kontrolki w poziomych "paskach". Kiedy w jednym wierszy już się nie mieszczą są dodawane do kolejnego. Za pomocą właściwości FlowDirection można zmienić kierunek dodawania kontrolek.


DockPanel
Pozwala na dokowanie kontrolek, przypisując je do odpowiednich brzegów. Jest to rozwiązanie dobrze znane z WindowsForms. Posiada dodatkowo właściwość LastChildFill, która powoduje że ostatnia kontrolka zajmuje całą dostępną powierzchnię.


Canvas
Pozwala na umieszczanie kontrolek poprzez ustawienie koordynat. Podczas zwiększania/zmniejszania rozmiaru Canvasu kontrolki pozostają na swoich miejscach.


Dostęp do kontrolek zawartych w danym kontenerze odbywa się poprzez właściwość Children i indeks kontrolki której referencję chcemy otrzymać.

Brak komentarzy:

Prześlij komentarz