Dziś dokończenie o kilku właściwościach, które pomogą nam sterować wyglądem naszego okna w aplikacji WPF. Zaczynamy.

Justowanie

Dwie właściwości HorizontalAligment, VerticalAligment określają co kontrolka zrobi z dodatkowym miejsce jakie otrzyma od kontrolki rodzica. Przykład:

<StackPanel>                       

    <Button Content=”Przycisk 1″ HorizontalAlignment=”Center” Background=”Orange” />       

    <Button Content=”Przycisk 2″ HorizontalAlignment=”Left” Background=”Red”/>

    <Button Content=”Przycisk 3″ HorizontalAlignment=”Right” Background=”Green”/>

    <Button Content=”Przycisk 4″ HorizontalAlignment=”Stretch” Background=”Aquamarine”/>

StackPanel>

Należy jednak pamiętać, że właściwości te mają zastosowanie, gdy rodzic-panel przeznacza na swoją kontrolkę-dziecko więcej miejsca niż ona tego ona wymaga. Należy również pamiętać, że Width, Height, Min-, Max-opisane w poprzednim odcinku mają pierwszeństwo nad opcją Stretch.

Justowanie treści

Do tego służą właściwości o podobnie brzmiących nazwach. HorizontalContentAligment, VerticalContentAligment. Dzięki nim możemy modyfikować jak kontrolka będzie organizować położenie treści w niej się znajdującej. Przykład:

<StackPanel>                       

    <Button Content=”Przycisk 1″ HorizontalContentAlignment=”Center” Background=”Orange” />       

    <Button Content=”Przycisk 2″ HorizontalContentAlignment=”Left” Background=”Red”/>

    <Button Content=”Przycisk 3″ HorizontalContentAlignment=”Right” Background=”Green”/>       

StackPanel>

Istnieje jeszcze wartość Stretch, ale w przypadku przycisku nie ma ona zastosowania.

Flow direction

Pomocne przy językach, które w przeciwieństwie do naszego czytane są od strony prawej do lewej. Po ustawieniu tej właściwości zmienia się znaczenie wartości Left oraz Right dla justowania treści. Przykład:

<StackPanel>                       

    <Button Content=”Przycisk 1″ FlowDirection=”LeftToRight”

          HorizontalContentAlignment=”Left”

          Background=”Orange” />       

    <Button Content=”Przycisk 2″ FlowDirection=”RightToLeft”

          HorizontalContentAlignment=”Left”

          Background=”Red”/>       

StackPanel>

Zobaczmy, że w drugim przypadku, pomimo ustawionej wartości Left na właściwości HorizontalContentAligment tekst jest wyjustowany do prawej. Oczywiście samo ustawienie właściwości FlowDirection na RightToLeft nie zmienia kierunku w jakim są renderowane znaki.

Na ten odcinek tyle. W następnym będzie o transformacjach.