Xamarin.Forms Základy XAML
EXtensible Application Markup Language (XAML) je jazyk založený na jazyce XML, který microsoft vytvořil jako alternativu 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 byl přizpůsoben několika technologiím v rámci rozhraní .NET, ale zjistil jeho největší nástroj při definování rozložení uživatelských rozhraní v rámci Windows Presentation Foundation (WPF), Silverlight, prostředí Windows Runtime a Univerzální platforma Windows (UPW).
XAML umožňuje vývojářům definovat uživatelská rozhraní v Xamarin.Forms aplikacích pomocí značek místo kódu. XAML se v Xamarin.Forms programu nikdy nevyžaduje, ale často je výstižnější a vizuálně koherentnější než ekvivalentní kód a potenciálně jde o nástroj. XAML je vhodný pro použití s oblíbenou architekturou aplikace MVVM (Model-View-ViewModel): XAML definuje zobrazení, které je propojené s kódem ViewModel prostřednictvím datových vazeb založených na XAML.
V souboru Xamarin.Forms XAML může vývojář definovat uživatelská rozhraní pomocí všech Xamarin.Forms zobrazení, rozložení a stránek a také vlastních tříd. Soubor XAML lze zkompilovat nebo vložit do spustitelného souboru. V obou směrech se informace XAML analyzují v době sestavení, aby vyhledaly pojmenované objekty a znovu za běhu vytvořily instance a inicializovaly objekty a vytvořily propojení mezi těmito objekty a programovacím kódem.
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í.
- XAML může být snadno ručně napsaný programátory, ale také se hodí k tomu, aby byl nástrojovatelný a generovaný nástroji vizuálního návrhu.
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í. (Několik Xamarin.Forms vizuálních objektů( zejména
ListView
) však může generovat více podřízených objektů na základě objektů v jehoItemsSource
kolekci.) - 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ů. (Toto omezení se ale někdy dá obejít.)
- XAML obecně nemůže volat metody. (Toto omezení lze někdy překonat.)
Ještě neexistuje vizuální návrhář pro generování XAML v Xamarin.Forms aplikacích. Všechny XAML musí být napsané ručně, ale při úpravách můžete použít Opětovné načítání za provozu XAML v sadě Visual Studio 2019 nebo Visual Studio pro Mac. I vývojáři se spoustou zkušeností v XAML vědí, že experimentování je odměněné.
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. Podrobně jsou popsány v následujících článcích, které končí úvodem k použití XAML pro implementaci MVVM.
Požadavky
V tomto článku se předpokládá, že práce je obeznámena s Xamarin.Forms. Tento článek také předpokládá určitou znalost XML, včetně pochopení použití deklarací oboru názvů XML a elementu termínů, značky a atributu.
Až budete s jazykem Xamarin.Forms XML obeznámeni, začněte číst část 1. Začínáme s XAML