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.