WPF / 13.01.2010

XAML jako deklarativní jazyk

J
Jarda Jirava
Autor článku
3 min
Čas čtení

V tomto článku se podíváme na to, jakým způsobem je možné zapisovat XAML a jakých nástrojů k tomu můžeme využít.

XAML je deklarativní jazyka, který popisuje vaše UI jako strom souvisejících prvků. Jedná se o popisný jazyk, který mohou využívat nástroje pro návrh UI a těchto nástrojů existuje v současné době několik. Jazyk XAML se vyznačuje tím, že je snadno persistentní – však se také jedná o formát XML. Nástroje od firmy Microsoft pokrývají základní spektrum, potřebné pro vývojáře a designéry uživatelského rozhraní. Jedná se o Visual studio a Expression Blend. Mohli bychom sem zahrnout i nástroj Expression Design. Vedle nástrojů od Microsoftu existují i další nástroje, jako je ZAM 3D, případně některý z méně komplexních, při vývoji však nepostradatelných. XAMLPad nebo KaXaml.

XAML Parser

XAML Parser je zodpovědný za převedení zápisu ve formátu stromu XAML elementů do instancí objektů .NET tříd. V deklaraci XAMLu tak můžeme zapsat jakýkoliv platný objekt .NETu. Nejběžnější scénář je však zápis “Visual” prvků.

V současné době existují čtyři verze XAMLu:

  • WPF – Windows Presentation Foundation
  • Silverlight
  • XPS – fixní dokumenty taktéž produkované v Office
  • Windows Workflow Foundation (WF)

Deklarace XAML

Uvedu zde příklad deklarativního zápisu XAML textu:

je nazýváno jako Object Element. XAML parser v okamžiku zpracování tohoto elementu vytvoří objekt typu System.Windows.Controls.TextBox.

Dále můžeme deklarovat atributy uvnitř elementu TextBox, které odpovídají názvům vlastností dané třídy, v tomto případě můžeme například deklarovat atribut Text, který bude odpovídat stejně nazvané vlastnosti.

Obdobně jako deklarujeme vlastnosti třídy, můžeme deklarovat i eventy a přiřadit jim handlery pro obsluhu těchto události. Můžeme tak namapovat třeba událost Click a vytvořit handler v code behind souboru.

Samozřejmě existují i alternativní zápisy syntaxe v XAML jazyce. Například výše zmíněná deklarace a přiřazení hodnoty do vlastnosti Text můžeme též zapsat takto

<TextBox>
  <TextBox.Text>zde je náš text</TextBox.Text>
</TextBox>

tento zápis je používán některými vizuálními nástroji nebo se s takovýmto zápisem můžeme setkat u komplexních vlastností.

V neposlední řadě se pak můžeme setkat s takovýmto zápisem:

<TextBox Text="{Binding AuthorName}" />

toto představuje zápis tzv. Markup Extension. Tyto Extension se zapisují vždy do složených závorek uvnitř hodnoty atributu. Markup Extension zpřístupňují mnoho mocných vlastností a samozřejmě máme možnost tyto vlastnosti dále rozšiřovat a psát vlastní. V tomto příkladu je uvedena jedna z nejčastějších Extension, BindingExtension, která slouží k synchronizaci dat mezi zdrojovými a cílovými objekty. Dalším místem, kdy se můžeme setkat s využitím Extension je označení a přiřazení stylů a šablon.

Nyní již víme, jak zapisovat jazyk XAML, můžeme se tedy směle vrhnout na další oblasti.

Komentáře (1)

Buďte první, kdo napíše komentář.
X
xaml.cz

Komunitní blog zaměřený na XAML, WPF, Silverlight a budoucnost desktopových a mobilních technologií.

© 2026 xaml.cz

Svelte 5 Tailwind CSS Bun