Výukový program WPF pro začátečníky: Jak vytvořit aplikaci [Příklad]

Co je WPF?

WPF je rámec pro stavbu Windows aplikace, které uživatelům umožňují vyvíjet bohatá uživatelská rozhraní s 3D animacemi a bohatými barvami s menší složitostí kódu. Jedná se o vektorový renderovací engine, který využívá hardwarovou akceleraci moderních grafických karet, díky čemuž je Ul rychlejší a vysoce škálovatelný. WPF znamená Windows představení Foundation.

WPF lze považovat za evoluci oproti WinForms. Vytváří snadno ovladatelný grafický zobrazovací systém pro Windows. Nabízí snadné oddělení mezi uživatelským rozhraním a obchodní logikou.

Aplikace WPF lze nasadit do vašeho systému jako samostatný desktopový program nebo hostovat jako vložený objekt na webu.

Proč WPF?

Existuje mnoho důvodů pro používání platformy WPF, některé z nich jsou významné-

  • Ideální platforma pro použití, pokud potřebujete pracovat s různými typy médií
  • WPF umožňuje vytvořit skinované uživatelské rozhraní. Pomůže vám také, když potřebujete načíst část uživatelského rozhraní nebo chcete svázat data XML
  • Umožňuje vám využít výhod velké knihovny tříd .NET, na které je postavena technologie .NET
  • Nezávislost na rozlišení, takže aplikace vyvinuté pomocí WMF lze spouštět na mobilních zařízeních nebo na 20palcovém monitoru
  • WPF staví na DirectX místo WinAPI. Nabízí grafický systém klientského počítače. Nabízí tedy větší výkon při vykreslování grafiky
  • Podporuje model toku dokumentů, který umožňuje kvalitu rozvržení „publikování na počítači“.
  • Vzhled a chování jsou volně propojené. To umožňuje návrhářům a vývojářům pracovat na dvou samostatných modelech
  • V rámci WMF můžete graficky navrhovat nástroje na jednoduchých dokumentech XML namísto analýzy kódu
  • Umožňuje použít hardwarovou akceleraci pro kreslení GUI pro lepší výkon

Historie WPF

Windows 1.0 bylo prvním GUI prostředím Microsoft. Pracuje jako vrstva nad DOSem a spoléhá na GDI a USER systémy pro grafické a uživatelské rozhraní.

DirectX byl představen v roce 1995 jako vysoce výkonný grafický systém. Byl zaměřen na hry a další grafická prostředí. V průběhu let bylo vydáno mnoho verzí s Directx9, které poskytují knihovnu pro použití s ​​kódem mange.Net.

verze WPF Rok vydání .Net verze Verze Visual Studio Funkce
3.0 2006 3.0 N / A První vydání.
Vývoj WPF však lze provést pomocí VS 2005.
3.5 2007 3.5 USA 2008 Úpravy a vylepšení v:
Aplikační model, vazba, ovládací prvky, dokumenty, anotace a 3-D Ul prvky.
3.5 SP1 2008 3.5 SP1 N / A Nativní podpora úvodní obrazovky. Nové ovládání webového prohlížeče, podpora DirectX pixel shader.
4.0 2010 4.0 USA 2010 Nové ovládací prvky: Kalendář. DataGrid, DatePicker. Multi-Touch a manipulace
4.5 2012 4.5 USA 2012 Rychlejší čas nastavení a lepší výkon pro bitmapové efekty. Nové ovládací prvky: Kalendář. DataGrid, DatePicker.
Multi-Touch a manipulace
4.5.1 2013 4.5.1 USA 2013 Nové ovládání páskem
Nové rozhraní INotifyDataErrorlnfo
4.5.2 2014 4.5.2 NA Žádná zásadní změna
Žádná zásadní změna
4.6 2015 4.6 USA 2015 Průhledná podpěra dětského okna
Vylepšení HDPI a Touch

Nejnovější stabilní verze WPF 5.0.6, která je vydána v dubnu 2021.

Vlastnosti WPF

Vlastnosti WPF
Vlastnosti WPF
  • Dokumenty a tisk
  • Zabezpečení, dostupnost a lokalizace
  • Nabízí interoperabilitu s Windows Ovládací prvky formulářů
  • Direct3D se používá v grafických aplikacích, kde je důležitý výkon
  • K vykreslování používá hardware grafické karty
  • Vektorová grafika vám umožňuje škálovat vaši aplikaci bez ztráty kvality
  • WPF podporuje systém logických pixelů s plovoucí desetinnou čárkou a 32bitové barvy ARGB
  • Předefinujte styly a ovládací šablony
  • Vytváření mezinárodních písem z kompozitních písem
  • Vykreslování textu WPF vám pomůže využít výhod technologie ClearType
  • Umožňuje použít techniku ​​ukládání do mezipaměti předem vykresleného textu ve videopaměti
  • Přístup založený na zdrojích pro každý ovládací prvek
  • Časovače prezentací jsou inicializovány a spravovány WPF
  • Podporován je také vztah mezi videem a animací
  • Ve WPF je styl sada vlastností, které by měly být aplikovány na obsah používaný pro vizuální vykreslování
  • Šablony ve WPF vám pomohou změnit Ul vašeho dokumentu
  • Příkazy jsou abstraktnější a volně propojené verze událostí
  • Podpora WPF pro příkazy snižuje množství kódu, který musíme napsat

Další v tomto WPF C# tutoriál, dozvíme se o typech jádra WPF a infrastruktuře.

Typy jádra WPF a infrastruktury

Třídy ve WPF jsou rozděleny do čtyř různých typů:

  • UIElement
  • FrameworkElement
  • ContentElement
  • FrameworkContentElement

Tyto třídy, známé jako třídy základních prvků. Poskytuje základ pro model skládání uživatelských rozhraní.

Uživatelská rozhraní WPF se skládají z prvků, které jsou sestaveny do stromové hierarchie. Říká se tomu strom prvků. Strom prvků je intuitivní způsob rozvržení uživatelského rozhraní. Je to struktura, která vám umožňuje získat funkci výkonných služeb uživatelského rozhraní.

XML

Extensible Application Markup Language, který se nazývá „XAML“ nebo „zammel“, je deklarativní způsob, jak definovat uživatelská rozhraní.

Zde je definice XAML jednoduchého tlačítka:

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

Výhoda použití jazyka XAML:

  • XAML oddělující vzhled front-endu od logiky back-endu
  • XAML je nejjednodušší způsob reprezentace uživatelských rozhraní
  • XAML je efektivní práce s nástroji

Řízení

WPF framework podporuje mnoho užitečných ovládacích prvků jako:

  • Úpravy ovládacích prvků, jako je textBox, ŠekBox, RadioButton
  • Seznam ovládacích prvků, jako je SeznamBox, ListView, TreeView
  • Uživatelské informace, jako je Label, WPF ProgressBar, ToolTip
  • Akce jako Nabídka, Tlačítko a Panel nástrojů
  • Vzhledy, jako je okraj, obrázek WPF a pole zobrazení
  • Běžná dialogová okna, jako jsou OpenFileDialog a PrintDialog.
  • Kontejnery jako TabContro, ScrollBar a GroupBox
  • Rozvržení jako DocPanel, StackPanel a Grid
  • Navigace, jako je rámeček a hypertextový odkaz

Vzhled ovládacích prvků lze přizpůsobit pomocí stylů a šablon bez programování. Můžete také vytvořit vlastní ovládací prvek odvozením nové třídy z příslušné základní třídy.

Vzhled

WPF poskytuje funkci pro přizpůsobení vzhledu vaší aplikace. Umožňuje vám nastavit objekty a hodnoty pro věci, jako jsou písma, pozadí atd.

Funkce stylů vám umožňuje standardizovat konkrétní vzhled celého produktu. Umožňuje vám nahradit výchozí vzhled při zachování jeho výchozího chování.

Šablona dat umožňuje řídit výchozí vizualizaci vázaných dat. Pomocí motivů můžete snadno vizualizovat styly z operačního systému.

Rozvržení a panely

Rozvržení vám pomůže při správném umístění a kontrole velikosti. Je součástí procesu tvorby prezentace pro uživatele. Rámec WPF usnadňuje proces rozvržení a nabízí lepší přizpůsobivost vzhledu uživatelského rozhraní.

Infrastruktura rozvržení je nabízena různými třídami: 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid a 5) Canvas

Grafika

WPF poskytuje vylepšený grafický systém jako

  • WPF používá jednotky nezávislé na zařízení, což umožňuje rozlišení a nezávislost na zařízení. Proto se každý pixel, který je nezávislý na zařízení, automaticky přizpůsobí pomocí systému nastavení bodů na palec
  • WPF používá double namísto float a podporuje širší škálu barev
  • Grafický engine WPF je navržen tak, aby mohl využívat výhod grafického hardwaru, je-li k dispozici

Dokumenty a tisk

WPF framework nabízí tři typy dokumentů:

  • Opravené dokumenty: Tento typ dokumentu podporuje WYSIWYG prezentace.
  • Průběh dokumentů: Umožňuje upravit a přeformátovat obsah na základě proměnných za běhu, jako je velikost okna a rozlišení zařízení.
  • XPS dokumenty: Jedná se o stránkovanou reprezentaci elektronického papíru ve formátu založeném na XML. XPS je open source a multiplatformní formát dokumentu.

WPF umožňuje lepší kontrolu nad tiskovým systémem. Zahrnuje vzdálený tisk a fronty. Dokumenty XPS lze navíc tisknout přímo bez převodu do tiskového formátu.

WPF Architecture

WPF je součástí .NET frameworku. Obsahuje spravovaný i nespravovaný kód. Důležité součásti architektury WPF jsou vysvětleny na níže uvedeném obrázku:

WPF Architecture
WPF Architecture

Komponenty architektury WPF

  • PresentationFramework: Pomáhá vám vytvářet prvky nejvyšší úrovně, jako jsou ovládací prvky, styly, rozvržení, okna atd.
  • PresentationCore: Obsahuje základní typy, jako je UIElement, Visual ze všech ovládacích prvků a tvary jsou odvozeny v PresentationFramework.dll.
  • CLR: Díky tomu je proces vývoje produktivní tím, že nabízí funkce jako správy paměti, zpracování chyb atd.
  • Milcore: Milcore je součástí nespravovaného kódu, který nabízí těsnou integraci s DirectX.
  • DirectX: Je to nízkoúrovňové API, které umožňuje vykreslování grafiky WPF. Rozhovory DirectX interagují s ovladači a vykreslují obsah.
  • Uživatel32: Jedná se o základní API, které je široce používáno mnoha programy. Řídí separaci paměti a procesů. User32 vám pomůže rozhodnout, který prvek bude umístěn kde na obrazovce.
  • Jádro: Vstup vzniká jako signál na ovladači zařízení v režimu jádra a je směrován do správného procesu a připojením Windows jádro a User32.

Instalace WPF

Chcete-li nainstalovat WPF, přejděte na tento odkaz https://www.guru99.com/download-install-visual-studio.html

Dále v tomto tutoriálu aplikace WPF vytvoříme náš první WPF.

Jak vytvořit svou první aplikaci WPF?

V tomto příkladu WPF vyvineme základní aplikaci WPF. Začněme tedy jednoduchou implementaci podle kroků uvedených v příkladech aplikací WPF níže.

Krok 1) V sadě Visual Studio přejděte na Soubor > Projekt

Vytvořte svou první aplikaci WPF

Krok 2) V novém okně projektu

  1. Vyberte aplikaci WPF
  2. Zadejte název jako „MyWPF“
  3. klepněte na tlačítko OK

Vytvořte svou první aplikaci WPF

Krok 3) Visual Studio ve výchozím nastavení vytvoří dva soubory

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

Vytvořte svou první aplikaci WPF

MainWindow.xaml má

  1. Designové okno
  2. Soubor XAML

Vytvořte svou první aplikaci WPF

V oknech XAML jsou následující značky zapsány jako výchozí

Vytvořte svou první aplikaci WPF

Mřížka je ve výchozím nastavení prvním prvkem.

MainWindow.xaml.cs obsahuje odpovídající kód za souborem návrhu XAML

Vytvořte svou první aplikaci WPF

Krok 4) V panelu nástrojů

  1. Přetáhněte textBox prvek do okna návrhu
  2. TextBox se objeví v okně návrhu
  3. Uvidíte kód XAML pro textBox přidáno

Vytvořte svou první aplikaci WPF

Krok 5) Změňte text na „První program WPF“.

Vytvořte svou první aplikaci WPF

Krok 6) Klikněte na tlačítko Start

Vytvořte svou první aplikaci WPF

Krok 7) Uvidíte okno na výstupu

Vytvořte svou první aplikaci WPF

Gratulujeme! Navrhli a vytvořili jste svou první aplikaci WPF. Dále v tomto tutoriálu WPF pro začátečníky uvidíme rozdíl mezi WPF a WinForms.

WPF vs. WinForms

WPF WinForms
Je to novější framework, takže více odpovídá současným standardům. Je starší, takže osvědčenější.
Je flexibilní a má bohaté funkce. Můžete navrhovat velmi bohaté aplikace bez kódování nebo nákupu ovládacích prvků. Není tak bohatý na funkce
Vývojáři 3rd stranické kontroly se zaměřují na kompatibilitu s WPF, protože jde o budoucnost. Existuje mnoho ovládacích prvků třetích stran, které si můžete zakoupit nebo získat zdarma.
XAML vám umožňuje snadno vytvářet a upravovat vaše GUI. Umožňuje rozdělit práci mezi návrháře (XAML) a programátora (C#, ASP.net atd.). In Windows Tvoří veškerý kód napsaný na jednom místě.
WPF může vytvářet uživatelská rozhraní pro oba Windows aplikace a webové aplikace jako Silverlight a XBAP. Žádná taková podpora
Ovládací sada WPF je omezená In-box ovládací prvky jsou velmi výkonné

Typ aplikací vytvořených pomocí WPF

  • WPF se snaží nahradit webové formuláře a formuláře pro okna – aplikace lze sestavit tak, aby běžely v prohlížeči nebo v samostatném okně
  • Windows Formuláře a stránky WPF mohou koexistovat ve stejné aplikaci
  • Můžete vyvíjet aplikace pro stránky/okna

Rychlý průvodce

  • Úplná podoba WPF je Windows představení Foundation
  • Je to ideální platforma pro použití, pokud potřebujete pracovat s různými typy médií
  • Windows 1.0 bylo prvním GUI prostředím Microsoft který pracoval na DOS a spoléhal na systémy GDI a USER
  • WPF v .NET nabízí interoperabilitu s Windows Ovládací prvky formulářů
  • WPF jsou rozděleny do čtyř různých typů, jako je UIElement, FrameworkElement ContentElement a FrameworkContentElement
  • Nejdůležitější součásti architektury WPF jsou PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 a Kernel.
  • WPF je novější framework oproti WinForms, takže je více v souladu se současnými standardy
  • Windows Formuláře a stránky WPF mohou koexistovat ve stejné aplikaci