Windows Presentation Foundation

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 26. dubna 2014; kontroly vyžadují 26 úprav .

Windows Presentation Foundation ( WPF ) je obdobou WinForms, systému pro vytváření klientských aplikací Windows s vizuálně atraktivními možnostmi interakce s uživatelem, grafickým (prezentačním) subsystémem jako součást .NET Framework (od verze 3.0 ), využívající jazyk XAML . [1] .

WPF je předinstalovaný v systémech Windows Vista ( .NET Framework 3.0), Windows 7 ( .NET Framework 3.5 SP1), Windows 8 (.NET Framework 4.0 a 4.5), Windows 8.1 (.NET Framework 4.5.1) a Windows 10 (.NET Rámec 4.7). Pomocí WPF můžete vytvářet širokou škálu samostatných aplikací i aplikací založených na prohlížeči [2] .

Vlastnosti technologie

Srdcem WPF je systém vektorového vykreslování, který nezávisí na rozlišení výstupního zařízení a byl vytvořen s ohledem na možnosti moderního grafického hardwaru. WPF poskytuje nástroje pro vytváření vizuálního rozhraní, včetně XAML (eXtensible Application Markup Language), ovládacích prvků, datové vazby, rozvržení, 2D a 3D grafiky, animací, stylů, šablon, dokumentů, textu, multimédií a dekorací [2] .

Grafickou technologií za WPF je DirectX , na rozdíl od Windows Forms , který využívá GDI / GDI+ [3] . Výkon WPF je vyšší než u GDI+ díky použití grafické hardwarové akcelerace prostřednictvím DirectX .

Existuje také oříznutá verze CLR s názvem WPF/E , také známá jako Silverlight .

Používání značek XAML

XAML je deklarativní jazyk pro popis rozhraní založený na XML . Byl také implementován model pro oddělení kódu a designu, který umožňuje spolupráci programátora a designéra. Kromě toho je zde zabudovaná podpora pro styly prvků a samotné prvky lze snadno rozdělit na ovládací prvky druhé úrovně , které jsou zase rozděleny až na úroveň vektorových tvarů a vlastností / akcí. To usnadňuje styling jakéhokoli prvku, například tlačítka .

Vývojové nástroje

Pro práci s WPF je vyžadován jakýkoli jazyk kompatibilní s .NET . Tento seznam obsahuje mnoho jazyků: C# , F# , VB.NET , C++ , Ruby , Python , Delphi (Prism) , Lua a mnoho dalších. Pro plnohodnotnou práci lze použít jak Visual Studio , tak Expression Blend . První je orientovaný na kódování a druhý je orientovaný na design a umožňuje vám dělat mnoho věcí, aniž byste museli ručně upravovat XAML . Příklady toho jsou animace, styly, stavy, vytváření ovládacích prvků a tak dále.

Funkce

WPF poskytuje širokou škálu možností pro vytváření interaktivních desktopových aplikací:

Datová vazba

Jedná se o flexibilní mechanismus, který vám umožňuje propojovat různá data prostřednictvím rozšíření značek XAML (od hodnot vlastností ovládacích prvků až po veřejné vlastnosti, které implementují databázová pole prostřednictvím Entity Framework ). Datová vazba je reprezentována třídou Binding , která je zase zděděna z MarkupExtension , což umožňuje používat vazby nejen v kódu, ale také v značkách:

< Orientace StackPanel = "Horizontální" > <Posuvník x:Název= "posuvník" Šířka= "200" Minimum= "1" Maximum= "100" Hodnota= "60" />         <TextBox Text= "{Binding ElementName=slider, Path=Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" /> </StackPanel>

Kromě hlavní třídy Binding implementuje WPF několik dalších vazebných mechanismů:

  • MultiBinding  – umožňuje vytvořit více vazeb zadáním více prvků
  • TemplateBinding  – používá se v šablonách ke spojení vlastnosti prvku uvnitř šablony s vlastností prvku, na který je šablona aplikována
  • PriorityBinding  - seřadí seznam vazeb a vybere z nich vlastnost (podle priority), na kterou bude vazba aplikována. Pokud vazba s nejvyšší prioritou úspěšně vrátí hodnotu, není třeba zpracovávat ostatní vazby v seznamu.

Styly

Umožňují vám vytvářet prvky stylu a zpravidla se používají pouze v označení:

<Button>         <Button.Style>             <Style TargetType= "Button" > <Setter Property= "FontSize" Value= "20" />                 <Setter Property= "Foreground" Value= "LimeGreen" />             </Style>         </ Button.Style>     </Button>

Pokud je styl nastaven na prostředcích (jako je slovník zdrojů), lze k určení jedinečného klíče použít atribut x:Key . Poté v ovládacím prvku, na který chcete styl použít, musíte použít rozšíření značek StaticResource k navázání na tento styl. Pokud použijete tuto techniku, pak styly nebudou zaplňovat značení.

Ovládací šablony

Umožňují měnit grafický design prvků a jsou reprezentovány třídou ControlTemplate . Na rozdíl od stylů můžete měnit nejen grafické znázornění prvku, ale také jeho strukturu. V tomto případě je šablona ovládacího prvku určena pomocí vlastnosti Template .

Jednoduchý příklad kulatého tlačítka:

<Button Content= "Ahoj!" Background= "LimeGreen" Foreground= "White" >         <Button.Template>             <ControlTemplate TargetType= "Button" >                 <Mřížka>                     <Ellipse Fill= "{TemplateBinding Background}" Stroke= "{TemplateBinding BorderBrush}" Stretch= "Fill" />                     <ContentPresenter VerticalAlignment= "Center" HorizontalAlignment= "Center" />                 </Grid>             </ControlTemplate>         </Button.Template>     </Button>

Šablony dat

Na rozdíl od šablon ovládacích prvků jsou nastaveny pro konkrétní datový kontext (který se v ovládacích prvcích bloku nastavuje pomocí vlastnosti DataContext a v ovládacích prvcích seznamu prostřednictvím ItemsSource ). Samotná datová šablona je reprezentována třídou DataTemplate . Vlastnost DataType se používá k označení datového typu, na který má být šablona aplikována.

Zdroje

Zdrojový systém umožňuje kombinovat šablony, styly, štětce, animace a mnoho dalších interaktivních prvků, což značně zjednodušuje práci s nimi. Prostředky se nastavují ve vlastnosti Resources třídy FrameworkElement, ze které se dědí všechny ovládací prvky, panely rozložení a dokonce i třída Application. To vám umožní vytvořit vrstvený systém zdrojů:

  • zdroje v rámci objektu – platné pouze pro daný objekt
  • zdroje uvnitř panelu rozložení (například Grid) – umožňuje nastavit hranici kontextu zdroje na úrovni tohoto panelu
  • zdroje uvnitř okna okna – pokud aplikace používá několik oken, pak zdroje jednoho okna nebudou dostupné pro zdroje jiného okna
<Window.Resources> <SolidColorBrush x:Key= "SampleBrush" Color= "LimeGreen" /> </Window.Resources> ... <Button Content= "Ahoj!" Background= "{StaticResource SampleBrush}" />
  • prostředky aplikace – dostupné všude (obvykle specifikované v samostatném slovníku zdrojů)

Grafika

WPF představuje bohatou, škálovatelnou a flexibilní sadu grafických funkcí:

  • Grafika nezávislá na rozlišení a zařízení. Základní měrnou jednotkou v grafickém systému WPF je pixel nezávislý na zařízení, což je 1/96 palce, bez ohledu na skutečné rozlišení obrazovky.
  • Další podpora pro grafiku a animaci. WPF zjednodušuje programování grafiky automatickou správou animací. Vývojář by se neměl zabývat zpracováním animačních scén, renderovacími smyčkami a bilineární interpolací
  • hardwarová akcelerace. Grafický systém WPF využívá grafický hardware ke snížení využití procesoru.
2D grafika

WPF poskytuje knihovnu běžných 2D tvarů kreslených pomocí vektorů, jako jsou obdélníky a elipsy, a také grafické cesty. A ve své funkčnosti tvary implementují mnoho funkcí, které jsou dostupné konvenčním ovládacím prvkům.

2D grafika ve WPF zahrnuje vizuální efekty, jako jsou přechody, bitmapy, kresby, videoart, rotace, změna měřítka a zkosení.

3D grafika

WPF také obsahuje možnosti 3D vykreslování integrované s 2D grafikou pro vytvoření bohatších a zajímavějších uživatelských rozhraní.

Verze

  • WPF 3.0 (listopad 2006)
  • WPF 3.5 (listopad 2007)
  • WPF 3.5 SP1 (srpen 2008)
  • WPF 4 (duben 2010)
  • WPF 4.5 (srpen 2012)
  • WPF 4.5.1 (říjen 2013)
  • WPF 4.5.2 (květen 2014)
  • WPF 4.6 (červenec 2015)

Viz také

Literatura

  • Matthew McDonald. WPF: Windows Presentation Foundation v .NET 4.5 s C# 5.0 Příklady pro profesionály, 4. vydání = Pro WPF 4.5 v C# 2012: Windows Presentation Foundation v .NET 4.5, 4. vydání. - M. : "Williams" , 2013. - 1024 s. - ISBN 978-5-8459-1854-3 .
  • Matthew McDonald. WPF: Windows Presentation Foundation v .NET 4.0 s C# 2010 Příklady pro profesionály = Pro WPF v C# 2010: Windows Presentation Foundation s .NET 4.0. - M. : "Williams" , 2011. - S. 1024. - ISBN 978-5-8459-1657-0 .
  • Anderson, Chris. Základy Windows Presentation Foundation. - Petrohrad. : BHV-Petersburg , 2008. - 432 s. — ISBN 978-5-9775-0265-8 .
  • Daniel M. Solis. Ilustrovaný WPF. - Spojené státy americké: Apress , 2009. - 508 s. — ISBN 978-1-4302-1910-1 .

Odkazy

Poznámky

  1. Vyslovuje se "zaml"
  2. 12 MSDN . Úvod do WPF . Microsoft. Získáno 15. listopadu 2010. Archivováno z originálu 14. února 2012.
  3. Matthew McDonald. WPF: Windows Presentation Foundation v .NET 3.5 s C# 2008 Příklady pro profesionály = Pro WPF v C# 2008: Windows Presentation Foundation s .NET 3.5. - 2. - M. : "Williams" , 2008. - S. 25. - 928 s. - ISBN 978-5-8459-1429-3 .