Sdílet prostřednictvím


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 jeho ItemsSource 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

Další videa o Xamarinu najdete na Channel 9 a YouTube.