V 1.1 Programozás III. Felhasználóifelület-elemek fontosabb tulajdonságai, eseményei, metódusai XAML alapok.

Slides:



Advertisements
Hasonló előadás
JQuery 8. előadás.
Advertisements

Grafikus tervezőrendszerek programozása 10. előadás.
Programozás III STRING-XML.
C++ programozási nyelv Gyakorlat hét
JQuery Kocsis Roland
Iratkezelő rendszer fejlesztése WPF alapokon
Extensible Markup Language
Objektum Orientált Programozás Visual Basicben. 2 Objektumok Object – egy dolog, tárgy, „valami” –Command button, text box, stb. Jellemzők –Properties.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Stílus, mesteroldal, témák
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
Programozás II. 3. Gyakorlat C++ alapok.
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
Tömbök ismétlés Osztályok Java-ban Garbage collection
Leírónyelvek: HTML és XHTML
Bekezdésformázás.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
Önleíró adatok: XML INFO ÉRA, Békéscsaba
Ismerkedés a szövegszerkesztéssel
VFP Form programozás Form szerkesztő elemei vezérlő elemek
WEB Technológiák WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék
Microsoft Access Vezérlőelemek.
Microsoft Access Űrlapok tervezése.
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
Objektumok. Az objektum információt tárol, és kérésre feladatokat hajt végre. Az objektum adatok (attribútumok) és metódusok (operációk,műveletek) összessége,
A valós világ modellezése. Az embert a valós világ modellezésekor a következő gondolatok vezérlik: Absztrakció Megkülönböztetés Osztályozás Általánosítás,
Vezérlők használata és írása Ez az előadó neve beosztása vállalata.
A program a „Tudáshasznosulást, tudástranszfert segítő eszköz-, és feltételrendszer kialakítása, fejlesztése a Műegyetemen” (TÁMOP /1/KMR )
XHTML 1. óra. Miért térjünk át HTML-ről XHTML- re? HTML-szabványban tartalom és forma összemosódott HTML 4.0 szabványban stíluslapok használatát javasolták.
Weboldalak tervezése (X)HTML.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Objektumorientált programozás
Delphi Készítette: Rummel Szabolcs Elérhetőség:
V 1.0 Szabó Zsolt, Óbudai Egyetem, Programozási Paradigmák és Technikák Programozási eszközök Interfészek Generikus.
V 1.0 Szabó Zsolt, Óbudai Egyetem, Programozási Paradigmák és Technikák Programozási eszközök Interfészek Generikus.
Visual Basic 2008 Express Edition
Web-grafika II (SVG) 7. gyakorlat Kereszty Gábor.
A gyakorlatok munkakörnyezete
XML Mi az XML?  Extensible Markup Language  Kiterjeszthető jelölő nyelv  Adatok, adatstruktúrák leírására szolgál  A HTML és az SGML tapasztalataira.
V 1.0 Programozás III. További ablakok készítése Továbbított események.
A Visual Basic nyelvi elemei
Programozás III. Grafikus felület API-k és összehasonlításuk
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Programozás III KIVÉTEL.
Első lépések a szövegszerkesztő használatában
Java web programozás 7-8..
Spanyolország gyöngyszeme: GRANADA Egy hobby portál kivitelezése.
Opencms modul fejlesztés Krizsán Zoltán. Modulok fajtái Nincs előírás, csak tipikus tennivalók: –Content type: új típus(oka)t vezet be. –Template: új.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
Informatikai gyakorlatok 11. évfolyam
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
V 1.0 Programozás III. Grafikus felület API-k és összehasonlításuk WPF Hello World Fontosabb UI-elemek UI-elemek tartalommodelljei UI-elemek öröklődési.
Programozás III JPA.
V 1.0 Programozás III. XML XAML Adatkötés I.. V 1.0ÓE-NIK, 2014 XML (w3schools.com) Hierarchikus adatleíró formátum XML deklarációk + elemek + attribútumok.
V 1.0 Programozás III. Gyakorlás. V 1.0ÓE-NIK, 2014 Gyakorlás –Feladat: Tic Tac Toe játék –Szabályok: A játékosok felváltva teszik le a jelöléseiket.
Alkalmazásfejlesztés gyakorlat
Továbbított események További ablakok készítése
Windows Presentation Foundation
Programozás III. Felhasználóifelület-elemek fontosabb tulajdonságai, eseményei, metódusai Preview események.
ListBox CheckedListBox TextBox
A Panel, Scroll Bar és a Combo box tulajdonságai
ComboBox A listák nagy helyet foglalnak a formokon, és az általuk felkínált elemek nem bővíthetőek a felhasználó által. Ezen problémák megoldására használhatjuk.
Neumann János Informatikai Kar
A CLIPS keretrendszer
Adatkötés Sablonokkal
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Programozás III. XAML alapok.
Előadás másolata:

V 1.1 Programozás III. Felhasználóifelület-elemek fontosabb tulajdonságai, eseményei, metódusai XAML alapok

V 1.1ÓE-NIK, 2015 UI-elemek fontosabb tulajdonságai, metódusai, eseményei Input (főként System.Windows.UIElement őstől) –Visibility, IsVisible – Láthatóság –Focusable, IsFocused – Fókuszálhatóság (billentyűzet inputot fogadhat) –IsHitTestVisible – Eltalálhatóság (egérrel vagy más eszközzel) –IsEnabled – Engedélyezett-e vele a felhasználói interakció? „szürkítés” –AllowDrop – Drag&Drop inputot képes-e fogadni? –CommandBindings – Parancs inputok, amelyeket fogadhat (később) –IsTabStop, TabIndex – Tab-bal rá lehet-e váltani (System.Windows.Controls.Control) 2

V 1.1ÓE-NIK, 2015 UI-elemek fontosabb tulajdonságai, metódusai, eseményei Input (főként System.Windows.UIElement őstől) –IsMouseOver – Fölötte van-e az egér? –IsMouseCaptured – Ez kapja-e az egérről jövő inputot? AreAnyTouchesOver, …Captured … IsStylusOver, …Captured … –CaptureMouse(), CaptureStylus(), CaptureTouch() – Az adott felhasználóifelület-elem kapja az összes, adott beviteli eszközről érkező inputot (függetlenül a beviteli eszköz helyzetétől) –ReleaseMouseCapture(), ReleaseStylusCapture(), ReleaseTouchCapture() – Előző kikapcsolása –Focus() – Ide érkezzen a billentyűzet input 3

V 1.1ÓE-NIK, 2015 UI-elemek fontosabb tulajdonságai, metódusai, eseményei Input (főként System.Windows.UIElement őstől) –KeyDown –KeyUp –MouseDown, MouseLeftButtonDown, MouseRightButtonDown … –MouseUp, MouseLeftButtonUp, MouseRightButtonUp … –MouseEnter –MouseLeave –MouseMove –MouseWheel –MouseDoubleClick (System.Windows.Controls.Control) –További input események: Touch hasonló eseményei (Touch…), Stylus hasonló eseményei (Stylus…) Drag&drop (Drag…) –Eseményeket elsütő, kezelőt hozzáadó, eltávolító függvények RaiseEvent(), AddHandler(), RemoveHandler() 4

V 1.1ÓE-NIK, 2015 UI-elemek fontosabb tulajdonságai, metódusai, eseményei Betöltődés (főként System.Windows.FrameworkElement őstől) –Initialized – Az elem konstruktora lefutott, tulajdonságai kezdőértéket kaptak –Loaded – Az elem teljes betöltése befejeződött (lezajlott az elrendezés, az adatkötés...), kirajzolás előtt áll –IsInitialized, IsLoaded 5

V 1.1ÓE-NIK, 2015 UI-elemek fontosabb tulajdonságai, metódusai, eseményei Alapvető kinézet (főként System.Windows.FrameworkElement őstől) –(Max/Min/-)Height, (Max/Min/-)Width – szélesség, magasság –Margin – külső margó –Padding – belső margó (System.Windows.Controls.Control) –Triggers – triggerek: f elhasználói tevékenységre válaszul tulajdonságok értékét állítják –Language – nyelvbeállítás lokalizációhoz –BringIntoView() – láthatóvá tétel (pl. ha kiscrollozódott) 6

V 1.1ÓE-NIK, 2015 UI-elemek fontosabb tulajdonságai, metódusai, eseményei Fejlett kinézet (főként System.Windows.Controls.Control őstől) –Background, Foreground –BorderBrush, BorderThickness –FontFamily, FontSize, FontStretch, FontStyle, FontWeight –HorizontalContentAlignment/VerticalContentAlignment –Template – a vezérlő kinézetét meghatározó objektum. Template hiányában a fenti tulajdonságoknak nincs funkciója. (Alapértelmezett template természetesen minden látható Controlnál van.) 7

V 1.1ÓE-NIK, 2015 UI-elemek fontosabb tulajdonságai, metódusai, eseményei Tartalom (ContentControl őstől) –Content – tartalom –HasContent – van-e tartalom? –ContentStringFormat, ContentTemplate – tartalom kinézete 8

V 1.1ÓE-NIK, 2015 UI-elemek fontosabb tulajdonságai, metódusai, eseményei Tartalom (ItemsControl őstől) –Items, ItemsSource – elemek –HasItems – vannak-e elemek? –ItemStringFormat, ItemTemplate – elemek kinézete Továbbiak: csoportosítás, elemek felváltva különböző kinézetet kapjanak stb. –IsTextSearchEnabled, IsTextSearchCaseSensitive – elemek szűrése gépeléssel 9

V 1.1ÓE-NIK, 2015 UI-elemek tulajdonságai, metódusai, eseményei Természetesen az ősökön kívül maguk az osztályok is definiálnak ilyeneket Pl: –Button: Click esemény – kattintás történt –TextBox: Text –TextBox: LineCount – sorok száma –TextBox: SelectionStart, SelectionLength, SelectedText – szelekcióval kapcsolatos tulajdonságok –TextBox: GetLineLength(), GetLineText(), ScrollToLine() – sorokat kezelő függvények –TextBox: Select(), Clear()… – kijelölés, törlés –RadioButton: GroupName – csoportnév: ez határozza meg azokat a rádiógombokat, amik nem jelölhetők ki egymás mellett –… 10

V 1.1ÓE-NIK, 2015 XML (w3schools.com) Hierarchikus adatleíró formátum XML deklarációk + elemek + attribútumok –Elemek:... = –Attribútumok: -ban category=„…” … 11 Everyday Italian Giada De Laurentiis Learning XML Erik T. Ray

V 1.1ÓE-NIK, 2015 XML Felépítését szigorú szabályok korlátozzák –Első sor: opcionális formátumspecifikáció, kiegészíthető karakterkódolással: –Mindegyik elemnek lehet: Szöveges tartalma Alelemei Attribútumai, amelyek az adott elemhez adnak meg tulajdonságokat –Kötelezően kell lennie egy gyökérelemnek, ami az egész dokumentumot közrefogja ( elem) –Minden elem lezárása kötelező ( vagy ) Az egymásba ágyazás lezárásainak megfelelő sorrendben kell történniük Rosszul formázott: Jól formázott: –A kis- és nagybetűk különbözőek 12

V 1.1ÓE-NIK, 2015 XML Egy objektum leírását a beágyazott elemek és attribútumok szolgáltatják Ugyanígy (a beágyazással) hierarchia, tartalmazás is reprezentálható! – XML értelmezésétől függ 13 Everyday Italian Giada De Laurentiis

V 1.1ÓE-NIK, 2015 XAML (eXtensible Application Markup Language) XML-alapú deklaratív nyelv, amelyben.NET objektumok hierarchiáját és állapotukat írhatjuk le –Nem absztrakt és alapértelmezett konstruktort tartalmazó típusok használhatók Minden, ami XAML-ban leírható, C# kóddal is kifejezhető WPF-ben a felhasználói felület felépítésére használjuk Mi történik a XAML fájllal? –msbuild.exe bináris adatra fordítja, ún. erőforrásként az assemblybe épül –.g.cs ->.baml –A konstruktorból hívott InitializeComponent() tölti be 14

V 1.1ÓE-NIK, 2015 XAML XAML formátumú leírás: C# nyelvű leírás: A XAML leírásban az elemek.NET típusokból való példányosítást jelentenek Az attribútumokkal a példány tulajdonságait vagy eseményeit állítjuk 15 <CheckBox Content="Automatikus mentés" Name="checkBox1" IsChecked="True" Checked="checkBox1_Checked"/> CheckBox checkBox1 = new CheckBox(); checkBox1.Content = "Automatikus mentés"; checkBox1.IsChecked = true; checkBox1.Checked += checkBox1_Checked;

V 1.1ÓE-NIK, 2015 XAML Content beállítása – explicit beállítás: Tulajdonságelem-szintaxis: alelem Implicit beállítás: A XAML specifikációja szerint: minden osztály deklarálhat „tartalomtulajdonságot” (Content Property) – ekkor a közvetlen gyermekelem ennek a beállítására szolgál. A ContentControloknál ez a „tartalomtulajdonság” a Content… 16 <CheckBox Content="Automatikus mentés" Name="checkBox1" IsChecked="True"/> Automatikus mentés Automatikus mentés

V 1.1ÓE-NIK, 2015 XAML Implicit megadás / komplex(ebb) tartalom Tulajdonságelem megadás / komplex(ebb) tartalom Szintaktikai hiba – NEM ContentControl utód, nincs Contentje (és nincs más tartalomtulajdonsága sem) 17 Automatikus mentés Automatikus mentés Automatikus mentés

V 1.1ÓE-NIK, 2015 XAML … az ItemsControloknál a tartalomtulajdonság az Items… … a Paneleknél (tartalommenedzserek) a tartalomtulajdonság a Children –(a … kihagyott, a mostani téma szempontjából nem fontos részeket jelöl) 18 Gyűjteményszintaxis (Collection Syntax)

V 1.1ÓE-NIK, 2015 XAML Gyűjteményszintaxis (Collection Syntax) –A XAML feldolgozó enged több gyermekelemet egymás után megadni, ha az éppen beállítandó tulajdonság egy gyűjtemény (IList, Array, IDictionary) –Az előző példánál pl. a ListBox Items-énél és a Grid Children- jénél használtuk ezt: 19...

V 1.1ÓE-NIK, 2015 XAML További (egyelőre kevésbé fontos) szintaktikai lehetőségek... –Csatolttulajdonság-szintaxis (Attached Property Syntax) –Stb. 20

V 1.1ÓE-NIK, 2015 Gyakorló feladat 21