03/08/20151 XAML (1) XAML – Extensible Application Markup Language Poznámka: –XAML je vyslovován jako [zæməl] Deklarativní značkovací jazyk založený na.

Slides:



Advertisements
Podobné prezentace
Základy HTML – vkládání objektů
Advertisements

Technologie pro publikování na webu 1
Styly, záhlaví a zápatí, oddíly
Štěpán Šípal Gymnázium Čakovice. Dnešní témata  Vznik XHTML a předchůdci  Základní prvky XHTML dokumentu  Tagy a atributy  Elementy a jejich druhy.
WWW stránky.
Technologie pro publikování na webu 1 Ing. Jiří Štěpánek.
TNPW1 Technologie pro publikování na webu Přednáška č. 4 seznamy seznamy tabulky tabulky jejich sémantika jejich sémantika Ing. Martin Adámek Katedra informačních.
HTML HyperText Markup Language 3. část Ústav automatizace inženýrských úloh a informatiky FAST VUT v Brně 0U2 - Základy informatiky a výpočetní techniky.
MS Malování II. VY_32_INOVACE_58_MS_Malovani_II.
TNPW1 Cvičení
ÚVOD DO CPP 7 Dědičnost - pokračování
Základní škola a Mateřská škola, Šumná, okres Znojmo OP VK Tematický celek: Informatika Název a číslo učebního materiálu VY _32_INOVACE_04_13.
Mgr. Vlastislav Kučera přednáška č. 10.  Polohování ◦ Absolutní polohování  Vlastnosti ◦ umístění ◦ display ◦ visibility.
Tematická oblast: Aplikační software pro práci s informacemi II.
Výpočetní technika Akademický rok 2006/2007 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
C# pro začátečníky Mgr. Jaromír Osčádal
Databáze Jiří Kalousek.
Jazyk HTML.
Třídy, generické třídy, pseudotřídy
VYPRACOVALA: MGR. HANA TOFLOVÁ DNE: ICT2/1/3/13 WORD - tabulky.
VY_32_INOVACE_4.3.IVT1.17/Oc Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jaroslav Ochodek CZ.1.07/1.5.00/ Tvorba webových.
Mgr. Vlastislav Kučera přednáška č. 8.  Boxy  Vlastnosti ◦ width ◦ height ◦ padding ◦ border ◦ margin.
KOMBINAČNÍ LOGICKÉ FUNKCE
Informatika pro ekonomy II přednáška 10
Windows Presentation Foundation 2D grafika. 2D tvary Elementy UI stromu Stejné jako jiné ovládací prvky a elementy Mohou mít k sobě připojeny události,
Číslo projektuCZ.1.07/1.5.00/ Číslo materiáluVY_32_INOVACE_259 Název školyGymnázium, Tachov, Pionýrská 1370 Autor Ing. Roman Bartoš Předmět Informatika.
Title of the document The content of the document Úroveň 1 Úroveň 2 Úroveň 3 Titulek Výrobky Služby O nás Autorem materiálu a všech jeho částí, není-li.
CSS styly Kaskádové styly (CSS – Cascading Style Sheets) jsou prostředkem, který zajišťuje jednotný vzhled publikovaných stránek. Technologii CSS podporují.
XML Schema Irena Mlýnková. Obsah XML – úvod, příklad, základní pojmy DTD – přehled XML Schema – podrobně.
RoBla Makra MS OFFICE.
CSS Cascading Style Sheets Kaskádové styly
DHTML Jan Felger. Kapitola 0: Základní tagy Základy HTML © Jan Felger 2005 Úvod Tato prezentace zobrazuje pouze zcela základní minimum znalostí, které.
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Power Point– popis prostředí
Top Hotel Praha 7. – Twitter hashtag: #cztechdays.
Obrázky v HTML dokumentech Druhy a použití. Obrázky + Zvyšují atraktivitu stránek. + Zvyšují vypovídací schopnost stránek. - Zvyšují dobu načítání stránky.
HTML – TABULKY. - uzavírá celou strukturu tabulky atributy tabulky:  align - obtékání tabulky ostatním textem – right, left, center  cellpadding – vnitřní.
Počítačová podpora konstruování I 7. přednáška František Borůvka.
Mgr. Vlastislav Kučera lekce č. 5.  Boxy  Vlastnosti ◦ width ◦ height ◦ padding ◦ border ◦ margin.
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
TVORBA VÝUKOVÉ PREZENTACE I.
Windows Presentation Foundation Layout aplikace. Layout Layout CanvasStackPanelDockPanelWrapPanelGrid.
Windows Presentation Foundation Data Binding
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2015.
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
Uživatelská rozhraní Uživatelská rozhraní 8. cvičení.
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
Databáze MS ACCESS 2010.
MS EXCEL Charakteristika
Inf Webová stránka, princip HTML a CSS. Výukový materiál Číslo projektu: CZ.1.07/1.5.00/ Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím.
Vývojová prostředí Objektově Orientované Programování OB21-OP-EL-KON-DOL-M Orbis pictus 21. století.
Databáze MS ACCESS 2010.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
C# WPF.
Vlastnosti souborů Jaroslava Černá.
Dialogová okna (1) Realizována pomocí třídy Form
Jaroslav Kudr pro OATGM
KIV/ZD cvičení 5 Tomáš Potužák.
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Chování blokových prvků v rámci HTML dokumentu
Informatika pro ekonomy přednáška 8
Výukový materiál zpracován v rámci projektu
Jaroslav Kudr pro OATGM
Typ pole (1) Proměnná typu pole představuje kolekci proměnných stejného datového typu, které mohou být označovány společným jménem (identifikátorem) Pole.
Výukový materiál zpracovaný v rámci projektu
Výukový materiál zpracovaný v rámci projektu
Hierarchie tříd ve WPF (1)
LINEAR LAYOUT – orientation DEMO
Layout v Xamarin.Forms Polohovací prvky
Transkript prezentace:

03/08/20151 XAML (1) XAML – Extensible Application Markup Language Poznámka: –XAML je vyslovován jako [zæməl] Deklarativní značkovací jazyk založený na jazyku XML Mezi jeho úkoly patří: –zjednodušení tvorby uživatelského rozhraní –lepší oddělení uživatelského rozhraní od aplikační logiky Dovoluje lepší rozdělení práce mezi návrháře designu a programátora

03/08/20152 XAML (2) Při práci s jazykem XAML platí: –každý element v XAML je mapovaný na instanci třídy v.NET Frameworku: jméno elementu přesně odpovídá názvu třídy např. element dává pokyn k vytvoření ob- jektu na základě třídy Button –elementy mohou být do sebe vnořovány –vlastnosti objektu mohou být nastaveny pomocí atributů (u složitějších vlastností bývá nutné použít vnořené značky) –v době překladu je zápis v XAML konvertován do jazyka BAML (Binary Application Markup Lan- guage), který je připojen k výslednému programu

03/08/20153 XAML (3) Při vytvoření nového projektu ve WPF Visual Studio generuje následující XAML dokument:

03/08/20154 XAML (4) Obsahuje dva elementy: –Window : hlavní okno aplikace s titulkem MainWindow, výškou 350 DIP a šířkou 525 DIP –Grid : rozvržení (layout) sloužící pro umisťování ovládacích prvků může být nahrazen jiným typem rozvržení (např. Stack- Panel, WrapPanel, DockPanel, Canvas) Atributy xmlns slouží k deklaraci jmenných prostorů:

03/08/20155 XAML (5) – winfx/2006/xaml/presentation : hlavní jmenný prostor WPF zahrnuje všechny třídy WPF včetně ovládacích prvků sloužících k vytváření uživatelských rozhraní deklarován bez prefixu  jedná se o implicitní jmenný prostor pro celý dokument pokud není specifikováno jinak, pracuje se s tímto jmenným prostorem – /2006/xaml : jmenný prostor, který podporuje konstrukce jazyka XAML

03/08/20156 XAML (6) mapován na prefix x může být použit umístěním symbolu x a symbolu : před název elementu (atributu) Atribut Class : –je umístěn ve jmenném prostoru XAML –propojuje částečné třídy mezi XAML a kódem na pozadí –dává pokyn k vygenerování třídy se jménem MainWindow (definované ve jmenném prostoru WpfApplication1 ), která je odvozena od třídy pojmenované XAML elementem ( Window ) –tato třída zapouzdřuje chování hlavního okna aplikace

03/08/20157 XAML (7) Pro zpřístupnění ovládacích prvků z kódu na pozadí je zapotřebí v jejich elementech uvést atribut Name ( x:Name ): –např.: –poznámka: zápis x:Name je zapotřebí použít v případě, že odpoví- dající třída nedefinuje svou vlastní vlastnost Name

03/08/20158 Vlastnosti a události v XAML (1) Jednoduché vlastnosti (simple properties): –zapisovány pomocí odpovídajícího atributu –např.: nebo Tlačítko

03/08/20159 Vlastnosti a události v XAML (2) Složené vlastnosti (complex properties): –vlastnosti (typu třída), obsahující další vlastnosti –zapisovány přidáním dceřiných elementů se jmé- nem ve tvaru JmTypu.JmVlastnosti –dceřiný element nemůže obsahovat vlastní atributy –příklad 1:

03/08/ Vlastnosti a události v XAML (3) –příklad 2: (tlačítko obsahující zelený čtverec s červeným okrajem)

03/08/ Vlastnosti a události v XAML (4) Značkovací rozšíření (markup extensions): –používána např. při: nastavení vlastnosti podle již existujícího objektu dynamickém navázání vlastnosti na vlastnost jiného objektu –lze zapsat: ve formě atributů (uzavřené mezi symboly {} ) –ve tvaru {MarkupExtensionClass Argumenty} pomocí vnořených značek –např.:

03/08/ Vlastnosti a události v XAML (5) poznámka: x:Static označuje třídu StaticExtension ve jmenném prostoru XAML slovo Extension je obecně možné vynechat nebo:

03/08/ Vlastnosti a události v XAML (6) Připojené vlastnosti (attached properties): –definovány v jiné třídě, než je třída ovládacího prvku, jehož nastavení je prováděno –obvykle používány při práci s rozvržením –zapisovány ve tvaru JmTypu.JmVlastnosti –jsou převáděny na volání metod –např.:

03/08/ Vlastnosti a události v XAML (7) Události: –zapisovány pomocí atributů podobně jako jedno- duché vlastnosti –zápis se provádí ve tvaru: událost = ObslužnáMetoda –např.: předpokládá, že v kódu na pozadí existuje metoda btnTlacito_Click

03/08/ Vlastnosti a události v XAML (8) Poznámka: –nastavení vlastností a událostí u ovládacího prvku může být zapsáno v libovolném pořadí –překladač provádí přiřazení jejich hodnot vždy v následujícím pořadí: vlastnost Name (okamžitě po vytvoření objektu) události (přiřazení obslužných metod) zbývající vlastnosti (přiřazení hodnot) –tento mechanismus zabezpečuje, že mohou být vyvolány a obslouženy události vzniklé jako reakce na nastavení vlastnosti

03/08/ Layout (1) Layout (rozvržení, rozložení) – speciální ov- ládací prvky (kontejnery), do kterých je mož- né vkládat další dceřiné ovládací prvky Umožňují relativní umisťování ovládacích prvků (elementů): –zvyšuje schopnost adaptovat se na změny velikos- ti okna (displeje) Ovládací prvky mnohdy nemají explicitně na- stavenu velikost: –jejich velikost se přizpůsobuje jejich obsahu –velikost je možné omezit nastavením maximální, resp. minimální velikosti

03/08/ Layout (2) Ovládací prvky nejsou většinou umisťovány na konkrétní pozici zadanou souřadnicemi v okně: –jsou uspořádávány rozvržením v závislosti na velikosti, pořadí a informacích specifických pro dané rozvržení –přidání dodatečného místa mezi ovládací prvky se realizuje nastavením okrajů (vlastnost Margin ) Rozvržení mohou být do sebe vnořována: –jako primární rozvržení se většinou používá Grid, který může obsahovat další rozvržení pro organizaci menších skupin ovládacích prvků

03/08/ Layout (3) Zpracování rozvržení probíhá ve dvou fázích: –měření (measure): kontejner v cyklu prochází své dceřiné elementy a zjiš- ťuje jejich preferovanou velikost není-li možné respektovat preferovanou velikost (kon- tejner není dostatečně velký), dochází o oříznutí dceři- ného elementu –uspořádání (arrange): fáze, ve které jsou dceřiné elementy umístěny na ur- čenou (vypočítanou) pozici Všechna rozvržení ve WPF jsou odvozena od třídy Panel  poskytují např. vlastnosti:

03/08/ Layout (4) –Background : štětec použitý pro vykreslení pozadí není-li nastavena, pak rozvržení nereaguje na události myši –Children : kolekce položek, jež jsou v panelu uloženy každá položka může obsahovat další položky Jednotlivá rozvržení ve WPF jsou implemen- tována pomocí tříd ( Grid, StackPanel, WrapPanel, DockPanel, Uniform- Grid a Canvas ) definovaných ve jmenném prostoru System.Windows.Controls

03/08/ Grid (1) Nejčastěji používaný typ rozvržení Nabízen jako implicitní rozvržení při vygene- rování nového projektu v MS Visual Studiu Mřížka podobná tabulce v HTML Vnitřním prvkům se nastavuje pomocí připo- jených vlastností řádek a sloupec, do kterého patří Není-li u prvku nastavení řádku, resp. sloupce provedeno, pak se implicitně nastaví na 0 Většinou v jednom poli bývá jeden prvek

03/08/ Grid (2) Jestliže prvky nemají explicitně nastavenou velikost, pak jsou roztaženy přes celou buňku Definice řádků, resp. sloupců se provádí po- mocí vlastností: –RowDefinitions : představuje kolekci řádků jednotlivé řádky jsou definovány na základě třídy (jako elementy) RowDefinition –ColumnDefinitions : představuje kolekci sloupců jednotlivé sloupce jsou definovány na základě třídy (jako elementy) ColumnDefinition

03/08/ Grid (3) Poznámka: –při nastavení výšky řádku i šířky sloupce lze po- užít symbol ”*” vyjadřující, že řádek (sloupec) se bude proporcionálně zvětšovat (zmenšovat) Grid také umožňuje, aby ovládací prvek byl roztažen přes více řádků (sloupců) tabulky Tohoto lze dosáhnout použitím připojených vlastností: –RowSpan : specifikuje, přes kolik řádků se má prvek zobrazit –ColumnSpan : specifikuje, přes kolik sloupců se má prvek zobrazit

03/08/ StackPanel Jednotlivé ovládací prvky umisťuje jeden za druhým (horizontálně nebo vertikálně) Horizontální, resp. vertikální umisťování je dáno hodnotou vlastnosti Orientation Není-li specifikováno jinak (pomocí vlastnos- tí Margin, Width, Height, Horizon- talAlignment, VerticalAlignment ), jsou ovládací prvky roztaženy přes celou: –šířku: Orientation = ”Vertical” –výšku: Orientation = ”Horizontal”

03/08/ WrapPanel Pracuje „podobně“ jako rozvržení StackPanel Ovládací prvky jsou umísťovány: –vedle sebe na řádek –za sebou do sloupce Směr umisťování je dán opět hodnotou vlast- nosti Orientation Pokud se některý prvek na řádek (do sloupce) nevejde, pak dojde k zalomení a prvek je zobrazen na dalším řádku (v dalším sloupci)

03/08/ DockPanel Umožňuje připoutání prvku k jedné ze čtyř stran Strana, ke které bude ovládací prvek připou- tán se nastavuje pomocí připojené vlastnosti Dock Poznámky: –při použití DockPanelu závisí na pořadí, ve kte- rém jsou jednotlivé prvky připoutávány (vede to k různému uspořádání) –je možné, aby k jedné straně bylo připoutáno více prvků

03/08/ Canvas Dovoluje umístění prvku na absolutní pozici Používán většinou jako vykreslovací plátno Pozice v Canvasu se zadává pomocí připoje- ných vlastností Left a Top nebo Right a Bottom Lze také využít vlastnost ClipToBounds, která umožňuje ořezávání elementů na hranici Canvasu Pro nastavení pořadí překrývajících se elemen- tů se používá připojená vlastnost ZIndex