Udostępnij za pośrednictwem


XAML

EXtensible Application Markup Language (XAML) to język oparty na języku XML, który jest alternatywą dla kodu programowania do tworzenia wystąpień i inicjowania obiektów oraz organizowania tych obiektów w hierarchii nadrzędny-podrzędny.

Język XAML umożliwia deweloperom definiowanie interfejsów użytkownika w aplikacjach interfejsu użytkownika aplikacji wieloplatformowych platformy .NET (.NET MAUI) przy użyciu znaczników, a nie kodu. Język XAML nie jest wymagany w aplikacji .NET MAUI, ale jest to zalecane podejście do opracowywania interfejsu użytkownika, ponieważ jest to często bardziej zwięzłe, bardziej spójne wizualnie i ma obsługę narzędzi. Język XAML jest również odpowiedni do użycia ze wzorcem Model-View-ViewModel (MVVM), gdzie XAML definiuje widok połączony z kodem viewmodel za pomocą powiązań danych opartych na języku XAML.

W pliku XAML można zdefiniować interfejsy użytkownika przy użyciu wszystkich widoków, układów i stron programu .NET MAUI, a także klas niestandardowych. Plik XAML może być skompilowany lub osadzony w pakiecie aplikacji. Tak czy inaczej kod XAML jest analizowany w czasie kompilacji w celu zlokalizowania nazwanych obiektów, a w czasie wykonywania obiekty reprezentowane przez XAML są tworzone i inicjowane.

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.

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. Istnieją jednak kontrolki, które wyświetlają kolekcje danych, takie jak ListView i CollectionView.
  • Język XAML nie może zawierać przetwarzania warunkowego. Jednak 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, chociaż czasami można przezwyciężyć to ograniczenie.
  • Język XAML zazwyczaj nie może wywoływać metod, chociaż to ograniczenie może być czasami pokonane.

W aplikacjach MAUI platformy .NET nie ma projektanta wizualnego do tworzenia kodu XAML. Cały kod XAML musi być napisany ręcznie, ale możesz użyć przeładowywania kodu XAML na gorąco, aby wyświetlić interfejs użytkownika podczas jego edytowania.

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.