Xamarin.Forms Podstawy języka XAML

EXtensible Application Markup Language (XAML) to język oparty na formacie XML utworzony przez firmę Microsoft jako alternatywa dla kodu programowania do tworzenia wystąpień i inicjowania obiektów oraz organizowania tych obiektów w hierarchiach nadrzędny-podrzędny. Język XAML został dostosowany do kilku technologii w środowisku .NET Framework, ale znalazł największe narzędzie do definiowania układu interfejsów użytkownika w programie Windows Presentation Foundation (WPF), Silverlight, środowisko wykonawcze systemu Windows i platforma uniwersalna systemu Windows (UWP).

Język XAML umożliwia deweloperom definiowanie interfejsów użytkownika w Xamarin.Forms aplikacjach przy użyciu znaczników, a nie kodu. Język XAML nigdy nie jest wymagany w Xamarin.Forms programie, ale często jest bardziej zwięzły i bardziej spójny wizualnie niż równoważny kod i potencjalnie narzędziowy. Język XAML jest odpowiedni do użycia z popularną architekturą aplikacji MVVM (Model-View-ViewModel): XAML definiuje widok połączony z kodem ViewModel za pomocą powiązań danych opartych na języku XAML.

W pliku Xamarin.Forms XAML deweloper może definiować interfejsy użytkownika przy użyciu wszystkich Xamarin.Forms widoków, układów i stron, a także klas niestandardowych. Plik XAML może być kompilowany lub osadzony w pliku wykonywalnego. Tak czy inaczej, informacje XAML są analizowane w czasie kompilacji w celu zlokalizowania nazwanych obiektów, a następnie ponownie w czasie wykonywania w celu utworzenia wystąpienia i zainicjowania obiektów oraz ustanowienia łączy między tymi obiektami i kodem programowania.

Język XAML ma kilka zalet w stosunku do kodu równoważnego:

  • Kod XAML jest często bardziej zwięzły i czytelny niż równoważny kod.
  • Hierarchia nadrzędny-podrzędna z natury w języku XML umożliwia kodowi XAML naśladowanie większej przejrzystości wizualnej hierarchii nadrzędny-podrzędny obiektów interfejsu użytkownika.
  • Język XAML może być łatwo napisany ręcznie przez programistów, ale także nadaje się do narzędzi i generowany przez narzędzia do projektowania wizualnego.

Istnieją również wady, głównie związane z ograniczeniami, które są wewnętrzne w językach znaczników:

  • Kod XAML nie może zawierać kodu. Wszystkie programy obsługi zdarzeń muszą być zdefiniowane w pliku kodu.
  • Język XAML nie może zawierać pętli do powtarzalnego przetwarzania. (Jednak kilka Xamarin.Forms obiektów wizualnych — zwłaszcza ListView — może wygenerować wiele elementów podrzędnych na podstawie obiektów w kolekcji ItemsSource ).
  • Język XAML nie może zawierać przetwarzania warunkowego (powiązanie danych może odwoływać się do konwertera powiązań opartych na kodzie, który skutecznie umożliwia przetwarzanie warunkowe).
  • Język XAML zazwyczaj nie może utworzyć wystąpienia klas, które nie definiują konstruktora bez parametrów. (Jednak czasami istnieje sposób obejścia tego ograniczenia).
  • Język XAML zazwyczaj nie może wywoływać metod. (To ograniczenie może być czasami pokonane).

Nie ma jeszcze projektanta wizualnego do generowania kodu XAML w Xamarin.Forms aplikacjach. Cały kod XAML musi być napisany ręcznie, ale można używać Przeładowywanie na gorąco XAML w programie Visual Studio 2019 lub Visual Studio dla komputerów Mac do wyświetlania projektów ekranu podczas ich edytowania. Nawet deweloperzy z dużą ilością doświadczenia w języku XAML wiedzą, że eksperymentowanie jest satysfakcjonujące.

XAML jest w zasadzie XML, ale XAML ma pewne unikatowe funkcje składni. Najważniejsze to:

  • Elementy właściwości
  • Dołączone właściwości
  • Rozszerzenia struktury znaczników

Te funkcje nierozszerzeniami XML. XAML jest całkowicie legalny kod XML. Jednak te funkcje składni XAML używają kodu XML w unikatowy sposób. Zostały one szczegółowo omówione w poniższych artykułach, które kończą się wprowadzeniem do używania języka XAML do implementowania maszyny wirtualnej MVVM.

Wymagania

W tym artykule przyjęto założenie, że praca z programem jest znana.Xamarin.Forms W tym artykule założono również pewną znajomość kodu XML, w tym informacje na temat używania deklaracji przestrzeni nazw XML oraz elementu terminów, tagu i atrybutu.

Gdy znasz Xamarin.Forms język i kod XML, zacznij odczytywać część 1. Wprowadzenie do języka XAML.

Więcej filmów na platformie Xamarin można znaleźć w witrynach Channel 9 i YouTube.