WPF-i õpetus algajatele: kuidas rakendust luua [näide]

Mis on WPF?

WPF on ehitamise raamistik Windows rakendused, mis võimaldavad kasutajatel arendada rikkalikke kasutajaliideseid, millel on 3D-animatsioonid ja rikkalikud värvid, mille koodide keerukus on väiksem. See on vektoripõhine renderdusmootor, mis kasutab kaasaegsete graafikakaartide riistvaralist kiirendust, mis muudab Uli kiiremaks ja hästi skaleeritavaks. WPF tähistab Windows Esitlus Foundation.

WPF-i võib pidada WinFormsi evolutsiooniks. See loob hõlpsasti kasutatava graafilise kuvasüsteemi Windows. See pakub kasutajaliidese ja äriloogika lihtsat eraldamist.

WPF-rakendusi saab teie süsteemis juurutada eraldiseisva töölauaprogrammina või hostida veebisaidi manustatud objektina.

Miks WPF?

WPF-i platvormi kasutamiseks on palju põhjuseid, millest mõned on silmapaistvad -

  • Ideaalne platvorm, mida kasutada, kui vajate tegeleda erinevate meediumitüüpidega
  • WPF võimaldab teil luua nahaga kasutajaliidese. See aitab teid ka siis, kui peate laadima osa kasutajaliidest või soovite siduda XML-andmeid
  • See võimaldab teil ära kasutada suure .NET-klassi raamatukogu eeliseid, nagu see on üles ehitatud .NET tehnoloogia
  • Eraldusvõime sõltumatus, nii et WMF-i abil arendatud rakendusi saab käivitada mobiilseadmetes või 20-tollisel monitoril
  • WPF põhineb DirectX-il, mitte WinAPI-l. See pakub kliendiarvuti graafikasüsteemi. Seetõttu pakkudes suuremat graafika renderdusvõimsust
  • Toetab voodokumendi mudelit, mis võimaldab küljenduse "lauaarvuti avaldamise" kvaliteeti
  • Välimus ja käitumine on lõdvalt seotud. See võimaldab disaineritel ja arendajatel töötada kahe erineva mudeli kallal
  • WMF-i raamistikus saate koodi sõelumise asemel graafiliselt kujundada tööriistu lihtsatele XML-dokumentidele
  • Võimaldab parema jõudluse tagamiseks kasutada GUI joonistamiseks riistvaralist kiirendust

WPF-i ajalugu

Windows 1.0 oli esimene GUI keskkond Microsoft. See töötab kihina DOS-i peal, tuginedes graafilise ja kasutajaliidese jaoks GDI ja USER süsteemidele.

DirectX võeti kasutusele aastal 1995 kui suure jõudlusega graafikasüsteem. See oli suunatud mängudele ja muudele graafikaga seotud keskkondadele. Aastate jooksul on Directx9-ga välja antud palju versioone, mis pakuvad mange.Neti koodiga kasutatavat teeki.

WPF versioon Vabastamise aasta .Neti versioon Visual Studio versioon FUNKTSIOONID
3.0 2006 3.0 N / A Esialgne väljalase.
WPF-i saab aga arendada VS 2005-ga.
3.5 2007 3.5 USA 2008 Muudatused ja täiustused:
Rakenduse mudel, köitmine, juhtelemendid, dokumendid, märkused ja 3-D Ul elemendid.
3.5 SP1 2008 3.5 SP1 N / A Native splash screen tugi. Uus veebibrauseri juhtimine, DirectX pixel shaderi tugi.
4.0 2010 4.0 USA 2010 Uued juhtnupud: kalender. DataGrid, DatePicker. Multi-Touch ja manipuleerimine
4.5 2012 4.5 USA 2012 Bitmap-efektide kiirem häälestusaeg ja parem jõudlus. Uued juhtnupud: kalender. DataGrid, DatePicker.
Multi-Touch ja manipuleerimine
4.5.1 2013 4.5.1 USA 2013 Uus lindi juhtimine
Uus INotifyDataErrorlnfo liides
4.5.2 2014 4.5.2 NA Olulist muudatust pole
Olulist muudatust pole
4.6 2015 4.6 USA 2015 Läbipaistev lasteakna tugi
HDPI ja Touch täiustused

WPF 5.0.6 uusim stabiilne versioon, mis ilmub 2021. aasta aprillis.

WPF-i omadused

WPF-i omadused
WPF-i omadused
  • Dokumendid ja trükkimine
  • Turvalisus, juurdepääsetavus ja lokaliseerimine
  • Pakub koostalitlusvõimet Windows Vormide juhtelemendid
  • Direct3D-i kasutatakse graafilistes rakendustes, kus jõudlus on oluline
  • Kasutab renderdamiseks videokaardi riistvara
  • Vektoripõhine graafika võimaldab teil oma rakendust skaleerida ilma kvaliteeti kaotamata
  • WPF toetab ujukoma loogilist pikslisüsteemi ja 32-bitist ARGB värvi
  • Stiilide ja juhtmallide uuesti määratlemine
  • Rahvusvaheliste fontide loomine liitfondidest
  • WPF-teksti renderdamine aitab teil kasutada ClearType'i tehnoloogiat
  • Võimaldab kasutada videomälus eelrenderdatud teksti vahemällu salvestamise tehnikat
  • Ressursipõhine lähenemine igale kontrollile
  • Esitluse taimerid lähtestab ja haldab WPF
  • Toetatud on ka video ja animatsiooni suhe
  • WPF-is on stiil omaduste kogum, mida tuleks rakendada visuaalseks renderdamiseks kasutatavale sisule
  • WPF-i mallid aitavad teil muuta dokumendi Ul-i
  • Käsud on sündmuste abstraktsemad ja lõdvalt seotud versioonid
  • WPF-i käskude tugi vähendab kirjutatava koodi hulka

Järgmine selles WPF-is C# õpetus, õpime tundma WPF-i põhitüüpe ja infrastruktuuri.

WPF-i põhitüübid ja infrastruktuurid

WPF klassid jagunevad nelja erinevasse tüüpi:

  • UIEelement
  • FrameworkElement
  • Sisuelement
  • FrameworkContentElement

Need klassid, mida nimetatakse baaselemendi klassideks. See loob aluse kasutajaliideste koostamise mudelile.

WPF-i kasutajaliidesed koosnevad elementidest, mis on kokku pandud puuhierarhias. Seda nimetatakse elemendipuuks. Elementide puu on intuitiivne viis kasutajaliidese paigutuseks. See on struktuur, mis võimaldab teil saada võimsate kasutajaliidese teenuste funktsiooni.

XML

Laiendatav rakenduse märgistuskeel, mida nimetatakse XAML-iks või zammeliks, on kasutajaliideste määratlemise deklaratiivne viis.

Siin on lihtsa nupu XAML-i määratlus:

<Button
FontSize="16"
HorizontalAlignment="Center"
VerticalAlignment="Center"
>
Say Hello Guru99</Button>

XAML keele kasutamise eelised:

  • XAML eraldab esiotsa välimuse taustaloogikast
  • XAML on lihtsaim viis kasutajaliideste esitamiseks
  • XAML töötab tõhusalt tööriistadega

Juhtimine

WPF-raamistik toetab paljusid kasulikke juhtelemente, näiteks:

  • Redigeerimise juhtelemendid, nagu tekstBox, KontrollimaBox, raadionupp
  • Loendi juhtelemendid, näiteks loendBox, loendivaade, puuvaade
  • Kasutajateave, näiteks silt, WPF-i edenemisriba, tööriistavihje
  • Toiming, nagu menüü, nupp ja tööriistariba
  • Välimused, nagu ääris, WPF-pilt ja vaatekast
  • Levinud dialoogiboksid, nagu OpenFileDialog ja PrintDialog.
  • Konteinerid, nagu TabContro, ScrollBar ja GroupBox
  • Paigutused nagu DocPanel, StackPanel ja Grid
  • Navigeerimine, näiteks raam ja hüperlink

Juhtelementide välimust saab kohandada stiilide ja mallidega ilma programmeerimiseta. Samuti saate luua kohandatud juhtelemendi, tuletades uue klassi sobivast baasklassist.

Välimus

WPF pakub funktsiooni teie rakenduse välimuse kohandamiseks. See võimaldab teil määrata objekte ja väärtusi sellistele asjadele nagu fondid, taustad jne.

Stiilide funktsioon võimaldab teil standardida kogu toote konkreetse välimuse järgi. See võimaldab teil vaikevälimust asendada, säilitades samal ajal selle vaikekäitumise.

Andmemall võimaldab teil juhtida seotud andmete vaikevisualiseerimist. Teemade abil saate hõlpsasti visualiseerida stiile operatsioonisüsteemist.

Paigutus ja paneelid

Paigutus aitab teil õiget positsioneerimist ja suurust juhtida. See on osa kasutajale esitluse koostamise protsessist. WPF-raamistik hõlbustab paigutusprotsessi ja pakub kasutajaliidese välimuse paremat kohandatavust.

Paigutuse infrastruktuuri pakuvad erinevad klassid: 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid ja 5) Canvas

Graafika

WPF pakub täiustatud graafikasüsteemi nagu

  • WPF kasutab seadmest sõltumatuid üksusi, võimaldades eraldusvõimet ja seadme sõltumatust. Seetõttu skaleerub iga seadmest sõltumatu piksel automaatselt punktide tolli kohta seadistussüsteemiga
  • WPF kasutab ujuva asemel topelt ja toetab laiemat värvivalikut
  • WPF-i graafikamootor on konstrueeritud nii, et see saab võimalusel ära kasutada graafika riistvara

Dokumendid ja trükkimine

WPF-raamistik pakub kolme tüüpi dokumente:

  • Fikseeritud dokumendid: Seda tüüpi dokument toetab WY-dSIWYG esitlus.
  • Vooludokumendid: Võimaldab teil sisu reguleerida ja ümber joosta käitusaja muutujate (nt akna suurus ja seadme eraldusvõime) alusel.
  • XPS dokumendid: See on XML-põhises vormingus elektroonilise paberi lehekülgede esitamine. XPS on avatud lähtekoodiga ja platvormideülene dokumendivorming.

WPF võimaldab prindisüsteemi paremini juhtida. See hõlmab kaugprintimist ja järjekordi. Lisaks saab XPS-dokumente otse printida ilma neid prindivormingusse teisendamata.

WPF Architektuur

WPF on osa .NET-i raamistikust. See sisaldab nii hallatud kui ka haldamata koodi. WPF-i arhitektuuri olulisi komponente selgitatakse alloleval joonisel:

WPF Architektuur
WPF Architektuur

WPF arhitektuuri komponendid

  • PresentationFramework: aitab teil luua tipptaseme elemente, nagu juhtelemendid, stiilid, paigutus, aknad jne.
  • PresentationCore: see sisaldab põhitüüpe, nagu UIElement, visuaal kõigist juhtelementidest ja kujundid on tuletatud failist PresentationFramework.dll.
  • CLR: see muudab arendusprotsessi produktiivseks, pakkudes selliseid funktsioone nagu mäluhaldus, vigade käsitlemine jne.
  • Milcore: Milcore on osa mittehallatavast koodist, mis pakub tihedat integratsiooni DirectX-iga.
  • DirectX: See on madala taseme API, mis võimaldab renderdada WPF-i graafikat. DirectX-kõned suhtlevad draiveritega ja renderdavad sisu.
  • Kasutaja32: See on põhiline API, mida paljud programmid laialdaselt kasutavad. See haldab mälu ja protsesside eraldamist. User32 aitab teil otsustada, milline element kuhugi ekraanil paigutatakse.
  • kernel: Sisend pärineb signaalina kerneli režiimi seadmedraiverist ja suunatakse õigesse protsessi ja ühendades Windows kernel ja kasutaja32.

WPF installimine

WPF-i installimiseks vaadake seda linki https://www.guru99.com/download-install-visual-studio.html

Järgmisena loome selles WPF-i rakenduse õpetuses oma esimese WPF-i.

Kuidas luua oma esimene WPF-rakendus?

Selles WPF-i näites töötame välja WPF-i põhirakenduse. Niisiis, alustame lihtsat juurutamist, järgides alltoodud WPF-i rakendusnäidetes toodud samme.

Step 1) Avage Visual Studios Fail > Projekt

Looge oma esimene WPF-rakendus

Step 2) Uues projekti aknas

  1. Valige WPF rakendus
  2. Sisestage nimi kui "MyWPF"
  3. OK

Looge oma esimene WPF-rakendus

Step 3) Visual Studio loob vaikimisi kaks faili

  • XAML-fail (MainWindow.xaml)
  • CS-fail (MainWindow.xaml.cs)

Looge oma esimene WPF-rakendus

MainWindow.xaml on

  1. Disain aken
  2. XAML fail

Looge oma esimene WPF-rakendus

XAML-i akendes on vaikimisi kirjutatud järgmised sildid

Looge oma esimene WPF-rakendus

Grid on vaikimisi esimene element.

MainWindow.xaml.cs sisaldab vastavat koodi XAML-i kujundusfaili taga

Looge oma esimene WPF-rakendus

Step 4) Tööriistakastis,

  1. Lohistage tekstBox element kujundusaknasse
  2. A TekstBox kuvatakse kujundusaknas
  3. Näete teksti jaoks XAML-koodiBox lisatud

Looge oma esimene WPF-rakendus

Step 5) Muutke tekstiks "Esimene WPF-programm".

Looge oma esimene WPF-rakendus

Step 6) Klõpsake nuppu Start

Looge oma esimene WPF-rakendus

Step 7) Näete väljundis akent

Looge oma esimene WPF-rakendus

Palju õnne! Olete kujundanud ja loonud oma esimese WPF-rakenduse. Järgmisena selles algajatele mõeldud WPF-i õpetuses näeme WPF-i ja WinFormsi erinevust.

WPF vs WinForms

WPF WinForms
See on uuem raamistik, seega on see praeguste standarditega paremini kooskõlas. See on vanem, nii et seda on rohkem proovitud ja testitud.
See on paindlik ja rikkalike funktsioonidega. Saate kujundada väga rikkalikke rakendusi ilma kodeerimise või juhtelementide ostmiseta. Pole nii funktsioonirikas
3 arendajadrd osapoolte juhtelemendid on keskendunud ühilduvusele WPF-iga, kuna see on tulevik. On palju kolmanda osapoole juhtelemente, mida saate tasuta osta või hankida.
XAML võimaldab teil oma GUI-d hõlpsalt luua ja redigeerida. See võimaldab jagada tööd disaineri (XAML) ja programmeerija (C#, ASP.net jne) vahel. In Windows Moodustab kogu kirjutatud koodi ühes kohas.
WPF saab luua mõlema jaoks kasutajaliideseid Windows rakendusi ja veebirakendusi, nagu Silverlight ja XBAP. Sellist toetust pole
WPF-i kastisisene juhtkomplekt on piiratud Kastisisesed juhtnupud on väga võimsad

WPF-iga loodud rakenduste tüüp

  • WPF üritab asendada veebivorme ja Windowsi vorme – rakendusi saab luua nii, et need töötavad brauseris või eraldiseisvas aknas
  • Windows Vormid ja WPF-lehed võivad samas rakenduses koos eksisteerida
  • Saate arendada lehe-/aknarakendusi

Kiirjuhend

  • WPF täisvorm on Windows Esitlus Foundation
  • See on ideaalne platvorm, mida kasutada, kui peate tegelema erinevate meediumitüüpidega
  • Windows 1.0 oli esimene GUI keskkond Microsoft mis töötas DOS-is ja tugines GDI ja USER süsteemidele
  • WPF .NET-is pakub koostalitlusvõimet Windows Vormide juhtelemendid
  • WPF on jagatud nelja erinevasse tüüpi, nagu UIElement, FrameworkElement ContentElement ja FrameworkContentElement
  • WPF arhitektuuri osa olulisemad komponendid on PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 ja Kernel
  • WPF on uuem raamistik, mis võrdleb WinFormsi, seega on see praeguste standarditega paremini kooskõlas
  • Windows Vormid ja WPF-lehed võivad samas rakenduses koos eksisteerida