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.