1. Shrnutí základních poznatků

(Dílčí příklady jsou převzaty z https://wpf-tutorial.com/ )

Jakým způsobem se pracuje s jednotlivými kontrolkami bylo vysvětleno u prvního příkladu v rámci cvičení. Doporučujeme se nejprve podívat na tento příklad. Tuto kapitolu lze také použít jako referenci (tj. v tento okamžik se seznámit s obsahem a během zpracovávání příkladů se k této kapitole vracet).


Shrňme si základní poznatky:

-          Pro design formulářů ve WPF je používán značkovací jazyk XAML (eXtensible Application Markup Language)

-          XAML je ve svých základních rysech obdobný jazyku HTML, který se využívá pro webové stránky, nebo XML, který se využívá k identifikaci a strukturování dat (např. elektronicky zpracovávané/přenášené údaje formulářů)

-          Na formuláři (Window) mohou být umístěny různé kontrolky. Tyto kontrolky mohou být libovolně vnořené (kontrolka může být kontejnerem pro jinou kontrolku)

-          Formálně se tyto kontrolky do XAML zapisují pomocí značek – Tagů. Pro zahájení definice kontrolky je definován tag uvedený ve špičatých závorkách, tj např. <TextBlock>. Pro ukončení definice kontrolky také existuje tag ukončovací s lomítkem </TextBlock>

-          V rámci tagu mohou být definovány vlastnosti (properties) kontrolky, např. <TextBlock Text=”ahoj” Width=”100”> znamená, že v kontrolce textový blok bude text ahoj s šířkou 100. Zápis tohoto tagu je potřeba v XAML ukončit ukončovacím tagem, zde </TextBlock>

-          Dílčí kontrolky mají jednu vlastnost výchozí. Její hodnotu je možné napsat mezi zahajovací tag a ukončovací tag. U TextBlocku je to vlastnost Text, tedy např.: <TextBlock>ahoj</TextBlock> je to samé jako <TextBlock Text=”ahoj”></TextBlock>

-          Pokud mezi zahajovací a ukončovací tag nechceme nic napsat, je možné místo <TextBlock Text=”ahoj”></TextBlock> napsat jen <TextBlock Text=”ahoj”/>

-          Další možnost zápisu je pomocí tečkové notace. To je velmi užitečné pro komplexní vlastnosti (zde se jedná jen o „školní“ ukázku, ale následně budeme tuto formu využívat):

<TextBlock>

  <TextBlock.Text>

      Ahoj

  </TextBlock.Text>

  <TextBlock.Width>

      100

  </TextBlock.Width>

</TextBlock>

 

-          Veškerý kód je „case sensitive“, tj. je citlivý na malá a velká písmena – je nutné dbát na dodržování velkých a malých písmen

-          Veškeré kontrolky jsou v kódu ve skutečnosti třídy – tj. šablony kontrolek, které mají určité předdefinované vlastnosti a chování. V okamžiku, kdy kontrolku využijeme, vytváří se její instance – tj. konkretizace (např. Bankomat je třída, je v ní popsáno chování, ale Bankomat na Americké ulici je instance třídy – tento bankomat má konkrétní vlastnosti)

-          Každá vlastnost je určitého datového typu, např. Text je string a Width je int. U vlastností jsou využívány i složité datové typy.