Xamarin – Szablony

Możliwość posiadania szablonów jest jedna z kluczowych, a zarazem koniecznych rzeczy w każdej technologii. Na całe szczęście Xamarin pozwala nam na tworzenie własnych szablonów do naszych kontrolek. W tym krótkim wpisie postaram się przedstawić przykładowy szablon strony bazowej.

Szablon

Xamarin pozwala nam na tworzenie ControlTemplate. Tak stworzony szablon można przypisać danej kontrolce, aby wyglądała zgodnie z tym, co zaprojektowaliśmy. Takie rozwiązanie pozwala na wyciągnięcie wspólnych cech widoków i zapisanie ich w postaci szablonu. Posiadając szablon aplikacji mamy dużo łatwiejsze zadanie w konieczności wprowadzenia jakichkolwiek zmian, oszczędzając tym samym nerwów i czasu na znalezienie wszystkich zakamarków, w których ustawiamy nasz widok.

Przykładowy szablon

Przykładowym szablonem, jaki pokażę, będzie strona bazowa całej aplikacji. Będzie to uproszczona wersja strony, którą tworzę w SXF. Znajdzie się w niej tylko panel nawigacji.

Szablon wygląda identycznie jak widok zwykłej strony. Możemy go natomiast stosować do wszystkich stron w aplikacji. Zawartość strony zostanie automatycznie wyświetlona w miejscu, gdzie znajduje się ContentPresenter. Pozostałe części widoku będą zawsze wyświetlane na postawie widoku bazowego.

Wykorzystanie

Wykorzystać ten szablon możemy na kilka sposobów. Jednym z nich jest umieszczenie go w ResourceDictionary i ustawianie ControlTemplate na każdej nowej stronie. Jest to rozwiązanie dobre, lecz wymaga od użytkownika, aby za każdym razem ustawiał szablon.

Moim preferowanym rozwiązaniem jest stworzenie klasy bazowej, po której będziemy dziedziczyli. Tym sposobem ustawiamy szablon tylko raz i możemy przeładować metody klasy ContentPage takie jak np. OnBackButtonPressed, pisząc tylko jedną implementację logiki. Bez konieczności powtarzania kodu w każdej nowej stronie.

Kończąc

Tworzenie własnych szablonów pozwala nam na stworzenie własnego stylu aplikacji. Dzięki widokowi znajdującemu się w jednym pliku dokonywanie jakichkolwiek zmian jest bardzo przyjemne, ponieważ wszystkie ustawienia posiadamy w jednym miejscu. Powielanie kodu i widoków jest bardzo złą praktyką, prędzej czy później wpłynie negatywnie na wprowadzenie jakichkolwiek zmian w całej aplikacji.

Leave a Reply

Translate »