publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
skomentuj »

TAGI: expression blend , expression studio , microsoft , kurs

2009-01-26 10:05  |  Artur Żarski

Kurs obsługi programu Microsoft Expression Blend. Część 5 – klasa Grid

Kurs obsługi programu Microsoft Expression Blend. Część 5 – klasa Grid

Elementy panelu w Windows Presentation Foundation to komponenty, które kontrolują sposób wyświetlania innych, umieszczonych w nich obiektów. Użytkownik Expression Blenda może skorzystać z wielu zdefiniowanych domyślnie elementów tego typu, a także w procesie projektowania dodawać własne, niestandardowe rodzaje. Najbardziej wszechstronnym narzędziem spośród obiektów panelu jest jednak klasa Grid, dzięki której części składowe wszystkich naszych aplikacji zachowają odpowiedni wygląd niezależnie od środowiska, w jakim będą prezentowane.

Podstawowe właściwości klasy Grid

Grid to taki rodzaj panelu, który może zostać podzielony na jedną i więcej kolumn lub na jeden i więcej wierszy. Najważniejszą zaletą tego elementu jest możliwość bardzo łatwej zmiany rozmiaru wierszy i kolumn oraz oczywiście osadzonych elementów podrzędnych, a więc w praktyce prawidłowe dostosowanie się do wielkości okna. Dostęp do obiektu Grid możliwy jest za pomocą opisywanego wcześniej przybornika narzędzi oraz biblioteki zasobów. Grid ma również oczywiście swoje odzwierciedlenie w kodzie XAML. Najprostsza postać polecenia wygląda w tym wypadku następująco:

<Grid />

Listing 1 – Najprostsza instrukcja wywołująca element Grid.

Taka konstrukcja jest jak najbardziej poprawna, ale nie zawiera, jak widać, żadnych właściwości. Ich lista jest tymczasem bardzo długa – przykładowy fragment bardziej rozbudowanego panelu Grid prezentuje poniższy fragment kodu. W tym wypadku mamy już do czynienia z trzema wierszami i taką samą liczbą kolumn:

<Grid Background=”#FFA8EDEA” ShowGridLines=”True” Margin=”80,56,88,60”>

<Grid.ColumnDefinitions>

<ColumnDefinition />

<ColumnDefinition />

<ColumnDefinition />

</Grid.ColumnDefinitions>

<Grid.RowDefinitions>

<RowDefinition />

<RowDefinition />

<RowDefinition />

</Grid.RowDefinitions>

</Grid>

Listing 2 – Przykładowy panel Grid.

Jak widać, do definiowania wierszy i kolumn służą obiekty ColumnDefinition oraz RowDefinition, pogrupowane z kolei w elementach ColumnDefinitions oraz RowDefinitions. Dodatkowo istnieje możliwość pokazywania i ukrywania linii siatki za pomocą atrybutu ShowGridLines. Tak oto będzie się prezentowała powyższa definicja w działaniu:

Przykładowy panel Grid, prezentujący trzy kolumny i trzy wiersze.

Aby ułatwić sobie pracę z siatkami, możemy ograniczyć korzystanie z definicji XAML. Znacznie wygodniejsze w użyciu będą bowiem narzędzia wizualne Expression Blenda, które równie dokładnie pozwolą nam określić właściwości paneli.

Korzystanie z narzędzi graficznych w procesie tworzenia i modyfikowania siatki może znacznie ułatwić nam pracę.

Na powyższej ilustracji widać wyraźnie, że dzięki zastosowaniu odpowiednich narzędzi graficznych możemy ręcznie dodać do panelu wiersz lub kolumnę. Po umieszczeniu wskaźnika myszy nad belką symbolizującą granice siatki pojawią się linie odpowiadające pionowemu i poziomemu podziałowi obszaru. Klikając zaznaczony trójkąt, bez trudu wzbogacimy zatem obiekt Grid o kolejny element. W ten sam sposób możemy również usuwać zbędne kolumny i wiersze.

Oprócz dodawania i usuwania linii podziału mamy również możliwość własnoręcznego określania rozmiarów poszczególnych elementów. Spójrzmy jeszcze raz na pierwszą z zamieszczonych ilustracji, prezentującą ogólny wygląd siatki. Dostrzeżemy tutaj jeden ciekawy element – kłódkę symbolizującą sposób definiowania przez użytkownika rozmiaru wierszy i kolumn. Istnieją dwie podstawowe metody. Pierwszą z nich jest podanie wymiarów osobno dla każdego elementu. Na możliwość przeprowadzenia takiego działania wskazuje znak zamkniętej kłódki. Aby określić wartość, wystarczy wybraną ikonę kliknąć. W efekcie, jeśli będziemy zmieniali rozmiar okna, określona kolumna lub wiersz zachowa zawsze ten sam rozmiar. Oczywiście, znajduje to także odzwierciedlenie w kodzie XAML, gdzie przykładowa definicja wiersza będzie wyglądała następująco:

<RowDefinition Height=”0.39”/>

Listing 3 – Przykładowa definicja wiersza, którego rozmiar określono na stałe.

Sytuacją odwrotną do przedstawionej przed chwilą jest adaptowanie się szerokości kolumn i wysokości wierszy do zmian wielkości okna. Aby uzyskać taką możliwość, należy odblokować wybraną kolumnę lub wybrany wiersz. Ikona kłódki powinna w takim wypadku zmienić wygląd na ten, który zaprezentowany został na pierwszej ilustracji w naszym artykule. Wiersz kodu XAML wzbogaci się za to o dodatkowy znak gwiazdki (*), umieszczony obok określonego liczbowo parametru wysokości:

<RowDefinition Height=”0.39*”/>

Listing 4 – Przykładowa definicja wiersza, którego rozmiar będzie się adaptował do zmian obszaru okna.

Istnieje jeszcze jeden sposób określenia szerokości i wysokości poszczególnych wierszy i kolumn. Wielkości te mogą być bowiem definiowane w odniesieniu do rozmiarów obiektów znajdujących się w komórkach siatki. Aby możliwa była automatyczna zmiana odpowiednich danych, należy we właściwościach siatki, w sekcji Layout, ustawić parametry Width oraz Height na Auto. Możliwe jest oczywiście również niezależne określenie tych właściwości.

Odpowiedni rozmiar wierszy i kolumn panelu możemy także określić, korzystając z sekcji Layout.

Co ciekawe, także klikając ikonę kłódki w przestrzeni roboczej, będziemy mogli skorzystać z dodatkowego symbolu, który zmieni właściwości pola zgodnie z przedstawionym wcześniej schematem. W XAML definicja wiersza będzie w tym wypadku wyglądała następująco:

<RowDefinition Height=”Auto” />

Listing 5 – Przykładowa definicja wiersza o automatycznie modyfikowanym rozmiarze.

Pamiętajmy, że możliwe jest również określenie minimalnych wartości za pomocą atrybutów MinHeight oraz MinWidth.

«poprzednia 1 2 3 następna »

publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
skomentuj »

Polecamy

Reklama

Komentarze

Uwaga! Możesz zarejestrować się w serwisie i w ten sposób zarezerwować swój nick oraz ominąć konieczność ciągłego odczytywania wyrazów.

Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka (słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.

Polecane książki

Czytaj Webhosting

Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.

Zarejestruj domenę

Sprawdź dostępność swojej domeny:

.pl: 0 zł   .com: 19.90 zł
.com.pl: 0 zł   .eu: 19.90 zł