WPF vodič za početnike: Kako stvoriti aplikaciju [Primjer]

Što je WPF?

WPF je okvir za izgradnju Windows aplikacije koje korisnicima omogućuju razvoj bogatih korisničkih sučelja s 3D animacijama i bogatim bojama s manje složenosti koda. To je vektorski mehanizam za renderiranje koji koristi hardversko ubrzanje modernih grafičkih kartica, što Ul čini bržim i visoko skalabilnim. WPF je skraćenica za Windows Prezentacija Foundation.

WPF se može smatrati evolucijom u odnosu na WinForms. Proizvodi grafički sustav za prikaz koji je jednostavan za rukovanje Windows. Nudi jednostavno odvajanje između korisničkog sučelja i poslovne logike.

WPF aplikacije mogu se implementirati u vašem sustavu kao samostalni program za radnu površinu ili hostirati kao ugrađeni objekt na web stranici.

Zašto WPF?

Mnogo je razloga za korištenje WPF platforme, a neki od istaknutih su:

  • Idealna platforma za korištenje ako trebate raditi s različitim vrstama medija
  • WPF vam omogućuje stvaranje skined korisničkog sučelja. Također vam pomaže kada trebate učitati dio korisničkog sučelja ili želite povezati XML podatke
  • Omogućuje vam da iskoristite prednosti velike .NET biblioteke klasa na kojoj je izgrađena .NET tehnologija
  • Neovisnost o razlučivosti, tako da se aplikacije razvijene pomoću WMF-a mogu pokretati na mobilnim uređajima ili 20-inčnom monitoru
  • WPF se temelji na DirectX umjesto WinAPI. Nudi grafički sustav klijentskog računala. Stoga nudi veću snagu grafičkog prikazivanja
  • Podržava model protočnog dokumenta koji omogućuje kvalitetu rasporeda "stolnog izdavaštva".
  • Izgled i ponašanje su labavo povezani. To omogućuje dizajnerima i programerima da rade na dva odvojena modela
  • U okviru WMF-a možete grafički dizajnirati alate na jednostavnim XML dokumentima umjesto parsiranja koda
  • Omogućuje vam korištenje hardverske akceleracije za crtanje GUI-a, za bolje performanse

Povijest WPF-a

Windows 1.0 bilo je prvo GUI okruženje iz Microsoft. Radi kao sloj na vrhu DOS-a, oslanjajući se na GDI i USER sustave za grafičko i korisničko sučelje.

DirectX je predstavljen 1995. godine kao grafički sustav visokih performansi. Bio je namijenjen igrama i drugim grafičkim okruženjima. Tijekom godina objavljeno je mnogo verzija s Directx9 koje pružaju biblioteku za korištenje s mange.Net kodom.

WPF verzija Godina izdanja .Net verzija Verzija Visual Studio Značajke
3.0 2006 3.0 N / A Prvo izdanje.
Međutim, razvoj WPF-a može se obaviti s VS 2005.
3.5 2007 3.5 SV 2008 Izmjene i poboljšanja u:
Aplikacijski model, uvez, kontrole, dokumenti, komentari i 3-D Ul elementi.
3.5 SP1 2008 3.5 SP1 N / A Izvorna podrška za početni ekran. Nova kontrola web preglednika, podrška za DirectX pixel shader.
4.0 2010 4.0 SV 2010 Nove kontrole: Kalendar. DataGrid, DatePicker. Višestruki dodir i manipulacija
4.5 2012 4.5 SV 2012 Kraće vrijeme postavljanja i poboljšane performanse za bitmap efekte. Nove kontrole: Kalendar. DataGrid, DatePicker.
Višestruki dodir i manipulacija
4.5.1 2013 4.5.1 SV 2013 Nova kontrola vrpce
Novo sučelje INotifyDataErrorlnfo
4.5.2 2014 4.5.2 NA Nema velike promjene
Nema velike promjene
4.6 2015 4.6 SV 2015 Prozirna potpora dječjeg prozora
HDPI i poboljšanja na dodir

Najnovija stabilna verzija WPF-a 5.0.6 koja je objavljena u travnju 2021.

Značajke WPF-a

Značajke WPF-a
Značajke WPF-a
  • Dokumenti i ispis
  • Sigurnost, pristupačnost i lokalizacija
  • Nudi interoperabilnost sa Windows Kontrole obrazaca
  • Direct3D se koristi u grafičkim aplikacijama gdje je važna izvedba
  • Koristi hardver video kartice za renderiranje
  • Vektorska grafika omogućuje skaliranje vaše aplikacije bez gubitka kvalitete
  • WPF podržava sustav logičkih piksela s pomičnim zarezom i 32-bitnu ARGB boju
  • Redefinirajte stilove i predloške kontrole
  • Izrada međunarodnih fontova od složenih fontova
  • WPF iscrtavanje teksta pomaže vam da iskoristite prednosti ClearType tehnologije
  • Omogućuje vam korištenje tehnike predmemoriranja unaprijed prikazanog teksta u video memoriji
  • Pristup temeljen na resursima za svaku kontrolu
  • Tajmere prezentacije inicijalizira i njima upravlja WPF
  • Također je podržan odnos između videa i animacije
  • U WPF-u stil je skup svojstava koja se trebaju primijeniti na sadržaj koji se koristi za vizualno iscrtavanje
  • Predlošci u WPF-u pomažu vam promijeniti Ul vašeg dokumenta
  • Naredbe su apstraktnije i labavije povezane verzije događaja
  • WPF podrška za naredbe smanjuje količinu koda koji trebamo napisati

Sljedeći u ovom WPF-u C# lekcija, naučit ćemo o osnovnim vrstama WPF-a i infrastrukturi.

WPF osnovne vrste i infrastrukture

Klase u WPF-u podijeljene su u četiri različite vrste:

  • UIElement
  • FrameworkElement
  • ContentElement
  • FrameworkContentElement

Ove klase, poznate kao klase osnovnih elemenata. Osigurava temelje za model sastavljanja korisničkih sučelja.

Korisnička sučelja WPF-a sastavljena su od elemenata koji su sastavljeni u hijerarhiji stabla. Naziva se stablom elemenata. Stablo elemenata je intuitivan način za raspored korisničkog sučelja. To je struktura koja vam omogućuje da dobijete značajku moćnih UI usluga.

XML

Extensible Application Markup Language koji se naziva "XAML" ili "zammel" je deklarativan način za definiranje korisničkih sučelja.

Ovdje je XAML definicija jednostavnog gumba:

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

Prednost korištenja XAML jezika:

  • XAML odvaja front-end izgled od back-end logike
  • XAML je najlakši način predstavljanja korisničkih sučelja
  • XAML je učinkovit rad s alatima

Kontrolira

WPF okvir podržava mnoge korisne kontrole kao što su:

  • Kontrole za uređivanje poput tekstaBox, ČekBox, Radio gumb
  • Kontrole popisa kao što je popisBox, ListView, TreeView
  • Informacije o korisniku kao što su Label, WPF ProgressBar, ToolTip
  • Radnje poput izbornika, gumba i alatne trake
  • Izgledi kao što su obrub, WPF slika i okvir za prikaz
  • Uobičajeni dijaloški okviri kao što su OpenFileDialog i PrintDialog.
  • Spremnici kao što su TabContro, ScrollBar i GroupBox
  • Izgledi kao što su DocPanel, StackPanel i Grid
  • Navigacija poput okvira i hiperveze

Izgled kontrola može se prilagoditi stilovima i predlošcima bez programiranja. Također možete stvoriti prilagođenu kontrolu izvođenjem nove klase iz odgovarajuće osnovne klase.

Izgled

WPF pruža značajku za prilagođavanje izgleda vaše aplikacije. Omogućuje vam postavljanje objekata i vrijednosti za stvari kao što su fontovi, pozadine itd.

Značajka stilova omogućuje vam standardizaciju određenog izgleda cijelog proizvoda. Omogućuje vam da zamijenite zadani izgled uz zadržavanje zadanog ponašanja.

Predložak podataka omogućuje vam kontrolu zadane vizualizacije vezanih podataka. Uz pomoć tema možete jednostavno vizualizirati stilove iz operativnog sustava.

Raspored i ploče

Raspored vam pomaže u pravilnom pozicioniranju i kontroli veličine. To je dio procesa sastavljanja prezentacije za korisnika. WPF okvir olakšava proces izgleda i nudi bolju prilagodljivost izgleda korisničkog sučelja.

Infrastrukturu izgleda nude razne klase: 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid i 5) Canvas

Grafika

WPF pruža poboljšani grafički sustav poput

  • WPF koristi jedinice neovisne o uređaju, omogućujući razlučivost i neovisnost o uređaju. Stoga se svaki piksel, koji je neovisan o uređaju, automatski skalira pomoću sustava postavljanja točaka po inču
  • WPF koristi double umjesto float i podržava širi niz boja
  • WPF grafički mehanizam dizajniran je na takav način da može iskoristiti prednosti grafičkog hardvera kada je dostupan

Dokumenti i ispis

WPF framework nudi tri vrste dokumenata:

  • Ispravljeni dokumenti: Ova vrsta dokumenta podržava WYSIWYG prezentacija.
  • Dokumenti tijeka: Omogućuje prilagodbu i preoblikovanje sadržaja na temelju varijabli vremena izvođenja kao što su veličina prozora i razlučivost uređaja.
  • XPS dokumenti: To je paginirani prikaz elektroničkog papira u formatu temeljenom na XML-u. XPS je format dokumenta otvorenog koda i više platformi.

WPF omogućuje bolju kontrolu nad sustavom ispisa. Uključuje daljinski ispis i redove čekanja. Štoviše, XPS dokumenti mogu se ispisati izravno bez pretvaranja u format za ispis.

WPF Architektura

WPF je dio .NET okvira. Sadrži upravljani i neupravljani kod. Važne komponente WPF arhitekture objašnjene su na donjoj slici:

WPF Architektura
WPF Architektura

Komponente WPF arhitekture

  • PresentationFramework: Pomaže vam da stvorite elemente najviše razine kao što su kontrole, stilovi, izgled, prozori itd.
  • PresentationCore: Sadrži osnovne tipove kao što su UIElement, Visual iz svih kontrola i oblika koji su izvedeni u PresentationFramework.dll.
  • CLR: Čini razvojni proces produktivnim nudeći značajke poput upravljanje memorijom, rješavanje grešaka itd.
  • Milcore: Milcore je dio neupravljanog koda koji nudi usku integraciju s DirectX-om.
  • DirectX: To je API niske razine koji omogućuje renderiranje grafike WPF-a. DirectX razgovori komuniciraju s upravljačkim programima i prikazuju sadržaj.
  • Korisnik32: To je temeljni API koji naširoko koriste mnogi programi. Upravlja memorijom i razdvajanjem procesa. User32 vam pomaže da odlučite koji će element biti postavljen gdje na ekranu.
  • kernel: Ulaz potječe kao signal na upravljačkom programu uređaja u načinu jezgre i usmjerava se na ispravan proces i povezivanjem s Windows kernel i User32.

WPF instalacija

Za instalaciju WPF-a pogledajte ovu vezu https://www.guru99.com/download-install-visual-studio.html

Zatim ćemo u ovom vodiču za WPF aplikaciju izgraditi naš prvi WPF.

Kako stvoriti svoju prvu WPF aplikaciju?

U ovom primjeru WPF-a razvit ćemo osnovnu WPF aplikaciju. Dakle, započnimo jednostavnu implementaciju slijedeći korake navedene u primjerima WPF aplikacija u nastavku.

Korak 1) U Visual Studio idite na Datoteka > Projekt

Napravite svoju prvu WPF aplikaciju

Korak 2) U novom prozoru projekta

  1. Odaberite WPF aplikaciju
  2. Unesite naziv kao "MyWPF"
  3. Kliknite U redu

Napravite svoju prvu WPF aplikaciju

Korak 3) Visual Studio prema zadanim postavkama stvara dvije datoteke

  • XAML datoteka (MainWindow.xaml)
  • CS datoteka (MainWindow.xaml.cs)

Napravite svoju prvu WPF aplikaciju

MainWindow.xaml ima

  1. Dizajn prozor
  2. XAML datoteka

Napravite svoju prvu WPF aplikaciju

U XAML prozorima, sljedeće oznake su napisane kao zadane

Napravite svoju prvu WPF aplikaciju

Mreža je prema zadanim postavkama prvi element.

MainWindow.xaml.cs sadrži odgovarajući kod iza XAML datoteke dizajna

Napravite svoju prvu WPF aplikaciju

Korak 4) U kutiji s alatima,

  1. Povucite tekstBox element u prozor dizajna
  2. TekstBox pojavit će se u prozoru dizajna
  3. Vidjet ćete XAML kod za TekstBox dodano

Napravite svoju prvu WPF aplikaciju

Korak 5) Promijenite tekst u "Prvi WPF program."

Napravite svoju prvu WPF aplikaciju

Korak 6) Pritisnite gumb Start

Napravite svoju prvu WPF aplikaciju

Korak 7) Vidjet ćete prozor na izlazu

Napravite svoju prvu WPF aplikaciju

Čestitamo! Dizajnirali ste i izradili svoju prvu WPF aplikaciju. Zatim ćemo u ovom vodiču za WPF za početnike vidjeti razliku između WPF-a i WinForms-a.

WPF protiv WinForms

WPF WinForms
To je noviji okvir, pa je usklađeniji s trenutačnim standardima. Stariji je, pa je više isproban.
Fleksibilan je i bogat značajkama. Možete dizajnirati vrlo bogate aplikacije bez kodiranja ili kupnje kontrola. Nije tako bogat značajkama
Programeri 3rd stranačke kontrole usmjerene su na kompatibilnost s WPF-om jer je to budućnost. Postoje mnoge kontrole trećih strana koje možete kupiti ili dobiti besplatno.
XAML vam omogućuje jednostavno stvaranje i uređivanje GUI-ja. Omogućuje podjelu posla između dizajnera (XAML) i programera (C#, ASP.net itd.). In Windows Formira sav kod napisan na jednom mjestu.
WPF može stvoriti korisnička sučelja za oboje Windows aplikacije i web aplikacije kao što su Silverlight i XBAP. Nema takve podrške
WPF-ov in-box kontrolni paket je ograničen In-box kontrole su vrlo moćne

Vrsta aplikacija izrađenih s WPF-om

  • WPF pokušava zamijeniti web-forme i windows forme – aplikacije se mogu izraditi za rad u pregledniku ili samostalnom prozoru
  • Windows Obrasci i WPF stranice mogu koegzistirati u istoj aplikaciji
  • Možete razvijati aplikacije za stranice/prozore

Brzi vodič

  • Potpuni WPF obrazac je Windows Prezentacija Foundation
  • To je idealna platforma za korištenje ako trebate raditi s različitim vrstama medija
  • Windows 1.0 bilo je prvo GUI okruženje iz Microsoft koja je radila na DOS-u i oslanjala se na GDI i USER sustave
  • WPF u .NET nudi interoperabilnost s Windows Kontrole obrazaca
  • WPF je podijeljen u četiri različite vrste kao što su UIElement, FrameworkElement ContentElement i FrameworkContentElement
  • Najvažnije komponente dijela WPF arhitekture su PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 i Kernel
  • WPF je noviji okvir koji uspoređuje WinForms, tako da je usklađeniji s trenutnim standardima
  • Windows Obrasci i WPF stranice mogu koegzistirati u istoj aplikaciji