WPF-opetusohjelma aloittelijoille
Mikรค on WPF?
WPF on puitteet rakentamiselle Windows sovelluksia, joiden avulla kรคyttรคjรคt voivat kehittรครค monipuolisia kรคyttรถliittymiรค, joissa on 3D-animaatioita ja tรคytelรคisiรค vรคrejรค vรคhemmรคn monimutkaisella koodilla. Se on vektoripohjainen renderรถintimoottori, joka kรคyttรครค nykyaikaisten nรคytรถnohjainkorttien laitteistokiihdytystรค, mikรค tekee Ul:sta nopeamman ja erittรคin skaalautuvan. WPF tarkoittaa Windows esittely Foundation.
WPF:รครค voidaan pitรครค evoluutiona WinFormsiin verrattuna. Se tuottaa helposti kรคytettรคvรคn graafisen nรคyttรถjรคrjestelmรคn Windows. Se tarjoaa helpon erottamisen kรคyttรถliittymรคn ja liiketoimintalogiikan vรคlillรค.
WPF-sovelluksia voidaan ottaa kรคyttรถรถn jรคrjestelmรคssรคsi erillisenรค tyรถpรถytรคohjelmana tai isรคnnรถidรค verkkosivuston upotettuna objektina.
Miksi WPF?
WPF-alustan kรคyttรคmiseen on monia syitรค, joista tรคrkeimpiรค ovat
- Ihanteellinen alusta kรคytettรคvรคksi, jos haluat kรคsitellรค erilaisia โโโโmediatyyppejรค
- WPF:n avulla voit luoda kuoritun kรคyttรถliittymรคn. Se auttaa myรถs silloin, kun sinun on ladattava osa kรคyttรถliittymรคstรค tai kun haluat sitoa XML-tietoja
- Sen avulla voit hyรถdyntรครค suurta .NET-luokkakirjastoa sellaisena kuin se on rakennettu .NET-tekniikkaa
- Tarkkuusriippumattomuus, joten WMF:llรค kehitettyjรค sovelluksia voidaan kรคyttรครค mobiililaitteissa tai 20 tuuman nรคytรถssรค
- WPF perustuu DirectX:รครคn WinAPI:n sijaan. Se tarjoaa asiakastietokoneen grafiikkajรคrjestelmรคn. Siksi se tarjoaa suuremman graafisen renderรถintitehon
- Tukee vuotoasiakirjamallia, joka mahdollistaa asettelun "tyรถpรถytรคjulkaisulaadun".
- Ulkonรคkรถ ja kรคytรถs liittyvรคt lรถyhรคsti. Nรคin suunnittelijat ja kehittรคjรคt voivat tyรถskennellรค kahden erillisen mallin parissa
- WMF-kehyksessรค voit graafisesti suunnitella tyรถkaluja yksinkertaisille XML-dokumenteille koodin jรคsentรคmisen sijaan
- Voit kรคyttรครค laitteistokiihdytystรค graafisen kรคyttรถliittymรคn piirtรคmiseen suorituskyvyn parantamiseksi
WPF:n historia
Windows 1.0 oli ensimmรคinen GUI-ympรคristรถ Microsoft. Se toimii kerroksena DOS:n pรครคllรค luottaen GDI- ja USER-jรคrjestelmiin graafisessa ja kรคyttรถliittymรคssรค.
DirectX esiteltiin vuonna 1995 korkean suorituskyvyn grafiikkajรคrjestelmรคnรค. Se oli suunnattu peleihin ja muihin grafiikkaan liittyviin ympรคristรถihin. Vuosien mittaan Directx9:llรค on julkaistu monia versioita, jotka tarjoavat kirjaston kรคytettรคvรคksi mange.Net-koodin kanssa.
| WPF versio | Julkaisuvuosi | .Net-versio | Visual Studio versio | Ominaisuudet |
|---|---|---|---|---|
| 3.0 | 2006 | 3.0 | N / A | Alkuperรคinen julkaisu. WPF-kehitys voidaan kuitenkin tehdรค VS 2005:llรค. |
| 3.5 | 2007 | 3.5 | US 2008 | Muutoksia ja parannuksia: Sovellusmalli, sidonta, ohjausobjektit, asiakirjat, huomautukset ja 3-D Ul -elementit. |
| 3.5 SP1 | 2008 | 3.5 SP1 | N / A | Alkuperรคinen aloitusnรคytรถn tuki. Uusi verkkoselaimen ohjaus, DirectX pixel shader -tuki. |
| 4.0 | 2010 | 4.0 | US 2010 | Uudet sรครคtimet: Kalenteri. DataGrid, DatePicker. Monikosketus ja manipulointi |
| 4.5 | 2012 | 4.5 | US 2012 | Nopeampi asennusaika ja parempi suorituskyky bittikarttatehosteille. Uudet sรครคtimet: Kalenteri. DataGrid, DatePicker. Monikosketus ja manipulointi |
| 4.5.1 | 2013 | 4.5.1 | US 2013 | Uusi nauhaohjain Uusi INotifyDataErrorlnfo-kรคyttรถliittymรค |
| 4.5.2 | 2014 | 4.5.2 | NA | Ei suuria muutoksia Ei suuria muutoksia |
| 4.6 | 2015 | 4.6 | US 2015 | Lรคpinรคkyvรค lastenikkunatuki HDPI- ja Touch-parannuksia |
WPF 5.0.6:n uusin vakaa versio, joka julkaistaan โโhuhtikuussa 2021.
WPF:n ominaisuudet

- Asiakirjat ja tulostus
- Turvallisuus, saavutettavuus ja lokalisointi
- Tarjoaa yhteentoimivuuden kanssa Windows Lomakkeiden sรครคtimet
- Direct3D:tรค kรคytetรครคn graafisissa sovelluksissa, joissa suorituskyky on tรคrkeรครค
- Kรคyttรครค nรคytรถnohjaimen laitteistoa renderรถimiseen
- Vektoripohjaisen grafiikan avulla voit skaalata sovellustasi laadun heikkenemรคttรค
- WPF tukee liukulukujen loogista pikselijรคrjestelmรครค ja 32-bittistรค ARGB-vรคriรค
- Mรครคritรค tyylit ja ohjausmallit uudelleen
- Kansainvรคlisten fonttien rakentaminen yhdistelmรคfonteista
- WPF-tekstin renderรถinti auttaa sinua hyรถdyntรคmรครคn ClearType-tekniikkaa
- Mahdollistaa videomuistissa olevan esirenderoidun tekstin vรคlimuistitekniikan kรคytรถn
- Resurssipohjainen lรคhestymistapa jokaiselle ohjaukselle
- WPF alustaa ja hallitsee esitysajastimet
- Myรถs videon ja animaation suhdetta tuetaan
- WPF:ssรค tyyli on joukko ominaisuuksia, joita tulee soveltaa visuaaliseen renderรถintiin kรคytettรคvรครคn sisรคltรถรถn
- WPF:n mallit auttavat sinua muuttamaan asiakirjasi Ul:n
- Komennot ovat abstraktimpia ja lรถyhรคmmin kytkettyjรค versioita tapahtumista
- WPF-tuki komentoille vรคhentรครค kirjoitettavan koodin mรครคrรครค
Seuraavaksi tรคssรค WPF:ssรค C# opetusohjelma, opimme WPF-ydintyypeistรค ja infrastruktuurista.
WPF-ydintyypit ja -infrastruktuurit
WPF-luokat on jaettu neljรครคn eri tyyppiin:
- UIElement
- FrameworkElement
- Sisรคltรถelementti
- FrameworkContentElement
Nรคmรค luokat, jotka tunnetaan peruselementtiluokina. Se tarjoaa pohjan kรคyttรถliittymien laatimismallille.
WPF-kรคyttรถliittymรคt koostuvat elementeistรค, jotka on koottu puuhierarkiaan. Sitรค kutsutaan elementtipuuksi. Elementtipuu on intuitiivinen tapa asetella kรคyttรถliittymรค. Se on rakenne, jonka avulla voit saada tehokkaiden kรคyttรถliittymรคpalveluiden ominaisuuden.
XAML
Extensible Application Markup Language, jota kutsutaan nimellรค "XAML" tai "zammel", on deklaratiivinen tapa mรครคrittรครค kรคyttรถliittymรคt.
Tรคssรค on yksinkertaisen painikkeen XAML-mรครคritelmรค:
<Button FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" > Say Hello Guru99</Button>
XAML-kielen kรคytรถn etu:
- XAML erottaa etupรครคn ulkoasun taustapรครคn logiikasta
- XAML on helpoin tapa edustaa kรคyttรถliittymiรค
- XAML toimii tehokkaasti tyรถkalujen kanssa
Hallintalaitteet
WPF-kehys tukee monia hyรถdyllisiรค ohjaimia, kuten:
- Muokkaussรครคtimet, kuten tekstiBox, TarkistaaBox, Radiopainike
- Luettelon sรครคtimet, kuten ListBox, ListView, TreeView
- Kรคyttรคjรคtiedot, kuten Label, WPF ProgressBar, ToolTip
- Toiminnot, kuten valikko, painike ja tyรถkalupalkki
- Ulkoasut, kuten Border, WPF Image ja Viewbox
- Yleiset valintaikkunat, kuten OpenFileDialog ja PrintDialog.
- Sรคilรถt, kuten TabContro, ScrollBar ja GroupBox
- Asettelut, kuten DocPanel, StackPanel ja Grid
- Navigointi, kuten kehys ja hyperlinkki
Ohjainten ulkonรคkรถรค voidaan mukauttaa tyyleillรค ja malleilla ilman ohjelmointia. Voit myรถs luoda mukautetun ohjausobjektin johtamalla uuden luokan sopivasta perusluokasta.
Esiintyminen
WPF tarjoaa ominaisuuden sovelluksesi ulkoasun mukauttamiseen. Sen avulla voit asettaa objekteja ja arvoja esimerkiksi fonteille, taustoille jne.
Tyylit-ominaisuuden avulla voit standardoida koko tuotteen tietyn ulkoasun. Sen avulla voit korvata oletusulkoasun sรคilyttรคen sen oletuskรคyttรคytymisen.
Tietomallin avulla voit hallita sidottujen tietojen oletusvisualisointia. Teemojen avulla voit helposti visualisoida tyylejรค kรคyttรถjรคrjestelmรคstรค.
Asettelu ja paneelit
Asettelu auttaa sinua oikean sijainnin ja koon hallinnassa. Se on osa esityksen laatimisprosessia kรคyttรคjรคlle. WPF-kehys helpottaa asetteluprosessia ja tarjoaa paremman kรคyttรถliittymรคn ulkoasun mukauttavuuden.
Asetteluinfrastruktuuria tarjoavat eri luokat ovat 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid ja 5) Canvas
grafiikka
WPF tarjoaa parannetun grafiikkajรคrjestelmรคn, kuten
- WPF kรคyttรครค laiteriippumattomia yksikรถitรค, mikรค mahdollistaa resoluution ja laiteriippumattomuuden. Siksi jokainen laitteesta riippumaton pikseli skaalautuu automaattisesti pistettรค tuumaa kohti -asetusjรคrjestelmรคn avulla
- WPF kรคyttรครค tuplaa floatin sijaan ja tukee laajempaa vรคrivalikoimaa
- WPF-grafiikkamoottori on suunniteltu siten, ettรค se voi hyรถdyntรครค grafiikkalaitteistoa, kun se on saatavilla
Asiakirjat ja tulostus
WPF-kehys tarjoaa kolmentyyppisiรค asiakirjoja:
- Kiinteรคt asiakirjat: Tรคmรคntyyppinen asiakirja tukee WY:tรคSIWYG esitys.
- Flow-asiakirjat: Voit sรครคtรครค ja muokata sisรคltรถรค ajonaikaisten muuttujien, kuten ikkunan koon ja laitteen resoluution, perusteella.
- XPS-asiakirjat: Se on sivutettu esitys sรคhkรถisestรค paperista XML-pohjaisessa muodossa. XPS on avoimen lรคhdekoodin ja monialustainen asiakirjamuoto.
WPF mahdollistaa tulostusjรคrjestelmรคn paremman hallinnan. Se sisรคltรครค etรคtulostuksen ja jonot. Lisรคksi XPS-asiakirjoja voidaan tulostaa suoraan muuntamatta niitรค tulostusmuotoon.
WPF Archirakenne
WPF on osa .NET-kehystรค. Se sisรคltรครค sekรค hallitun ettรค hallitsemattoman koodin. WPF-arkkitehtuurin tรคrkeรคt komponentit on selitetty alla olevassa kuvassa:
WPF-arkkitehtuurin komponentit
- EsitysKehys: Auttaa luomaan huipputason elementtejรค, kuten sรครคtimiรค, tyylejรค, asettelua, ikkunoita jne.
- PresentationCore: Se sisรคltรครค perustyyppejรค, kuten UIElement, Visual from all Controls ja muodot on johdettu PresentationFramework.dll.
- CLR: Se tekee kehitysprosessista tuottavan tarjoamalla ominaisuuksia, kuten Muistinhallinta, virheenkรคsittely jne.
- Milcore: Milcore on osa hallitsematonta koodia, joka tarjoaa tiiviin integraation DirectX:n kanssa.
- DirectX: Se on matalan tason API, joka mahdollistaa WPF:n grafiikan renderรถinnin. DirectX-puheet ovat vuorovaikutuksessa ohjaimien kanssa ja renderรถivรคt sisรคllรถn.
- Kรคyttรคjรค32: Se on ydinsovellusliittymรค, jota monet ohjelmat kรคyttรคvรคt laajalti. Se hallitsee muistin ja prosessien erottamista. User32 auttaa sinua pรครคttรคmรครคn, mikรค elementti sijoitetaan mihin tahansa nรคytรถlle.
- Kernel: Tulo tulee signaalina ydintilan laiteohjaimesta ja reititetรครคn oikeaan prosessiin ja muodostamalla yhteyden Windows ydin ja User32.
WPF asennus
Katso tรคstรค linkistรค asentaaksesi WPF https://www.guru99.com/download-install-visual-studio.html
Seuraavaksi tรคssรค WPF-sovelluksen opetusohjelmassa rakennamme ensimmรคisen WPF:n.
Kuinka luoda ensimmรคinen WPF-sovellus?
Tรคssรค WPF-esimerkissรค kehitรคmme WPF-perussovelluksen. Joten aloitetaan yksinkertainen toteutus noudattamalla alla olevissa WPF-sovellusesimerkeissรค annettuja vaiheita.
Vaihe 1) Valitse Visual Studiossa Tiedosto > Projekti
Vaihe 2) Uudessa projektiikkunassa
- Valitse WPF-sovellus
- Kirjoita nimi muodossa "MyWPF"
- OK
Vaihe 3) Visual Studio luo kaksi tiedostoa oletuksena
- XAML-tiedosto (MainWindow.xaml)
- CS-tiedosto (MainWindow.xaml.cs)
MainWindow.xaml on
- Suunnitteluikkuna
- XAML tiedosto
XAML-ikkunoissa seuraavat tunnisteet kirjoitetaan oletusarvoiksi
Ruudukko on oletuksena ensimmรคinen elementti.
MainWindow.xaml.cs sisรคltรครค vastaavan koodin XAML-suunnittelutiedoston takana
Vaihe 4) Tyรถkalulaatikossa,
- Vedรค tekstiรคBox elementti suunnitteluikkunaan
- TekstiBox tulee nรคkyviin suunnitteluikkunaan
- Nรคet XAML-koodin tekstilleBox lisรค-
Vaihe 5) Muuta tekstiksi "Ensimmรคinen WPF-ohjelma".
Vaihe 6) Napsauta Kรคynnistรค-painiketta
Vaihe 7) Nรคet ikkunan kohdassa Output
Onnittelut! Olet suunnitellut ja luonut ensimmรคisen WPF-sovelluksesi. Seuraavaksi tรคssรค WPF aloittelijoille -opetusohjelmassa nรคemme eron WPF:n ja WinFormsin vรคlillรค.
WPF vs. WinForms
| WPF | WinForms |
|---|---|
| Se on uudempi kehys, joten se on paremmin nykyisten standardien mukainen. | Se on vanhempi, joten se on enemmรคn testattu ja testattu. |
| Se on joustava ja siinรค on runsaasti ominaisuuksia. Voit suunnitella erittรคin monipuolisia sovelluksia ilman koodausta tai ostosรครคtimiรค. | Ei niin ominaisuusrikas |
| 3:n kehittรคjรคtrd puolueen hallinnassa keskitytรครคn yhteensopivuuteen WPF:n kanssa, koska se on tulevaisuus. | Voit ostaa tai saada ilmaiseksi monia kolmannen osapuolen ohjaimia. |
| XAML:n avulla voit luoda ja muokata kรคyttรถliittymรครคsi helposti. Se mahdollistaa tyรถn jakamisen suunnittelijan (XAML) ja ohjelmoijan (C#, ASP.net jne.) kesken. | In Windows Muodostaa kaiken kirjoitetun koodin yhteen paikkaan. |
| WPF voi luoda kรคyttรถliittymiรค molemmille Windows sovelluksia ja verkkosovelluksia, kuten Silverlight ja XBAP. | Ei sellaista tukea |
| WPF:n sisรคinen ohjauspaketti on rajoitettu | Sisรครคnrakennetut ohjaimet ovat erittรคin tehokkaita |
WPF:llรค rakennettujen sovellusten tyyppi
- WPF yrittรครค korvata verkkolomakkeita ja Windows-lomakkeita โ sovelluksia voidaan rakentaa toimimaan selaimessa tai erillisessรค ikkunassa
- Windows Lomakkeet ja WPF-sivut voivat olla rinnakkain samassa sovelluksessa
- Voit kehittรครค sivu-/ikkunasovelluksia
Pikaopas
- WPF tรคysi muoto on Windows esittely Foundation
- Se on ihanteellinen alusta kรคytettรคvรคksi, jos haluat kรคsitellรค erilaisia โโโโmediatyyppejรค
- Windows 1.0 oli ensimmรคinen GUI-ympรคristรถ Microsoft joka tyรถskenteli DOS:ssa ja luotti GDI- ja USER-jรคrjestelmiin
- WPF .NET tarjoaa yhteentoimivuuden Windows Lomakkeiden sรครคtimet
- WPF on jaettu neljรครคn eri tyyppiin, kuten UIElement, FrameworkElement ContentElement ja FrameworkContentElement
- WPF-arkkitehtuurin osan tรคrkeimmรคt komponentit ovat PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 ja Kernel
- WPF on uudempi kehys, joka vertaa WinFormsia, joten se on paremmin nykyisten standardien mukainen
- Windows Lomakkeet ja WPF-sivut voivat olla rinnakkain samassa sovelluksessa









