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 není vyžadován v aplikaci .NET MAUI, ale doporučuje se vyvíjet uživatelské rozhraní, protože je to č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 propojeno s kódem modelu zobrazení prostřednictvím 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 rozhraní .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 parsuje v době sestavení a vyhledá pojmenované objekty a za běhu se vytvoří instance a inicializuje se objekty reprezentované xaml.

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

  • 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 napodobit s větší vizuální přehledností hierarchie nadřazených 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í.
  • 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řekonány.
  • Xaml obecně nemůže volat metody, i když toto omezení může být někdy překonána.

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ěkteré jedinečné funkce syntaxe. Nejdůležitější jsou:

  • Prvky vlastnosti
  • 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.