XAML

EXtensible Application Markup Language (XAML) je jazyk založený na jazyce XML, který je alternativou k programování kódu pro vytváření instancí a inicializaci objektů a uspořádání těchto objektů v hierarchiích nadřazených a podřízených.

XAML umožňuje vývojářům definovat uživatelská rozhraní v aplikacích .NET Multi-Platform App UI (.NET MAUI) pomocí značek místo kódu. XAML se v aplikaci .NET MAUI nevyžaduje, ale doporučuje se při vývoji uživatelského rozhraní, protože je často stručnější, vizuálně koherentnější a má podporu nástrojů. XAML je také vhodný pro použití se vzorem Model-View-ViewModel (MVVM), kde XAML definuje zobrazení, které je propojené s kódem modelu pomocí datových vazeb založených na XAML.

V souboru XAML můžete definovat uživatelská rozhraní pomocí všech zobrazení, rozložení a stránek .NET MAUI a vlastních tříd. Soubor XAML je možné zkompilovat nebo vložit do balíčku aplikace. V obou směrech se XAML analyzuje v době sestavení a vyhledá pojmenované objekty a za běhu se vytvoří instance a inicializují se objekty reprezentované XAML.

XAML má oproti ekvivalentnímu kódu několik výhod:

  • XAML je často stručnější a čitelnější než ekvivalentní kód.
  • Hierarchie nadřazeného podřízeného objektu, která je součástí XML, umožňuje XAML napodobovat s větší vizuální srozumitelností hierarchii nadřazených a podřízených objektů uživatelského rozhraní.

Existují také nevýhody, většinou související s omezeními, která jsou vnitřní pro jazyky značek:

  • XAML nemůže obsahovat kód. Všechny obslužné rutiny událostí musí být definovány v souboru kódu.
  • XAML nemůže obsahovat smyčky pro opakované zpracování. Existují však ovládací prvky, které zobrazují kolekce dat, například ListView a CollectionView.
  • XAML nemůže obsahovat podmíněné zpracování. Datová vazba však může odkazovat na převaděč vazeb založený na kódu, který efektivně umožňuje některé podmíněné zpracování.
  • XAML obecně nemůže vytvořit instanci tříd, které nedefinují konstruktor bez parametrů, i když toto omezení může být někdy překonat.
  • XAML obecně nemůže volat metody, i když toto omezení může být někdy překonat.

Neexistuje žádný vizuální návrhář pro vytváření XAML v aplikacích .NET MAUI. Všechny XAML musí být napsané ručně, ale při úpravách uživatelského rozhraní můžete použít opětovné načítání XAML za provozu.

XAML je v podstatě XML, ale XAML má několik jedinečných funkcí syntaxe. Nejdůležitější jsou:

  • Elementy vlastností
  • Připojené vlastnosti
  • Rozšíření značek

Tyto funkce nejsou rozšíření XML. XAML je zcela právní XML. Tyto funkce syntaxe XAML ale používají XML jedinečnými způsoby.