Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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

Hasonló előadás


Az előadások a következő témára: "V 1.1 Programozás III. Felhasználóifelület-elemek fontosabb tulajdonságai, eseményei, metódusai XAML alapok."— Előadás másolata:

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

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) –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

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) –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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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 checkBox1 = new CheckBox(); checkBox1.Content = "Automatikus mentés"; checkBox1.IsChecked = true; checkBox1.Checked += checkBox1_Checked;

16 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 Automatikus mentés Automatikus mentés

17 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

18 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)

19 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...

20 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

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


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

Hasonló előadás


Google Hirdetések