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 »
Komentarze
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.
Popularne
Nazwa padła ofiarą szantażystów, inni polscy hosterzy też zagrożeni?
22
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Premiera Diablo 3 wzbudziła dyskusję na temat gier, które zawsze chcą być online
19
Nowy problem z Windows 8: bootuje się za szybko
10
Amerykańscy rodzice straszeni „e-narkotykami” dostępnymi w Sieci
21
Anonymous upubliczniają 1,7 GB danych wykradzionych Departamentowi Sprawiedliwości USA
12
Blueseed: libertariańska sztuczna wyspa przyciągnęła już ponad sto startupów z całego świata
8
Rewolucja w Firefoksie, nowa łatka czterokrotnie ograniczyła zużycie pamięci
20
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
CVDazzle: makijaż jest w stanie pokonać automatyczne systemy ulicznego monitoringu
3
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Ubuntu 12.04 LTS już dostępny: stabilna dystrybucja na następne pięć lat?
28
Zostań webmasterem polskiego rządu, zarobisz na komfortowe życie dla siebie i swojej rodziny
33
Społeczność
anga star za droga ludzie wy myślicie!?Jestem 4 klasistką rodzice się nigdy nie...
Jan Zwyczajnych filmów tak kręcić się nie da co najwyżej krótkie scenki jak w...
piotrek____ @asdfgh - yup, też tak sądzę.
Tak jak wtedy ten przeciek o żołnierzu...
gonzales Javowcy pozdrawiają dotnetowców xD
kaziks Galaxy S II - u mnie po aktualizacji Firefox działa strasznie zacina się...
Doniek Szkoda że strona z demo nie działa - non stop się przeładowuje
bartez Niech zaczną jeszcze bardziej ograniczać programistów, to zdziwią się ilu...
- Najdmen.pl: Konta www z wyłączonym licznikiem transferu od IONIC.pl (1)
- 2BE.PL: [Oferta] Promocja jak złoto w 2BE.PL (1)
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
Polecane książki
Praca
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ł |











