Xamarin.Forms Podstawy języka XAML

Download Sample Pobieranie przykładu

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.