Windows Presentation Foundation
Originalförfattare | Microsoft |
---|---|
Utvecklare | .NET Foundation |
Initial release | 21 november 2006 |
Stabil frisättning | v6.0.2 / 9 februari 2022
|
Förvar | |
Skrivet i | C# , C++ , C |
Operativ system | Microsoft Windows |
Plattform | .NET Framework , .NET |
Typ | Programvara ramverk |
Licens | MIT-licens |
Hemsida |
Windows Presentation Foundation ( WPF ) är ett gratis grafiskt delsystem med öppen källkod (liknande WinForms ) som ursprungligen utvecklats av Microsoft för att rendera användargränssnitt i Windows-baserade applikationer. WPF, tidigare känt som "Avalon", släpptes ursprungligen som en del av .NET Framework 3.0 2006. WPF använder DirectX och försöker tillhandahålla en konsekvent programmeringsmodell för att bygga applikationer. Det skiljer användargränssnittet från affärslogik och liknar liknande XML -orienterade objektmodeller , som de som implementeras i XUL och SVG .
Översikt
WPF använder XAML , ett XML -baserat språk, för att definiera och länka olika gränssnittselement. WPF-applikationer kan distribueras som fristående skrivbordsprogram eller vara värd som ett inbäddat objekt på en webbplats. WPF syftar till att förena ett antal vanliga användargränssnittselement , såsom 2D/3D-rendering, fasta och adaptiva dokument , typografi , vektorgrafik , runtime - animering och förrenderade media. Dessa element kan sedan länkas och manipuleras baserat på olika händelser, användarinteraktioner och databindningar .
WPF runtime-bibliotek ingår i alla versioner av Microsoft Windows sedan Windows Vista och Windows Server 2008 . Användare av Windows XP SP2/SP3 och Windows Server 2003 kan valfritt installera de nödvändiga biblioteken.
Microsoft Silverlight tillhandahåller funktionalitet som mestadels är en delmängd av WPF för att tillhandahålla inbäddade webbkontroller jämförbara med Adobe Flash . 3D-runtime-rendering hade stöds i Silverlight sedan Silverlight 5.
Vid Microsoft Connect-evenemanget den 4 december 2018 tillkännagav Microsoft att WPF släpptes som öppen källkodsprojekt på GitHub . Den släpps under MIT-licensen . Windows Presentation Foundation har blivit tillgängligt för projekt som är inriktade på .NET -programvaran, men systemet är inte plattformsoberoende och är fortfarande endast tillgängligt på Windows.
Funktioner
Direct3D
Grafik, inklusive skrivbordsobjekt som Windows, renderas med Direct3D . Detta möjliggör visning av mer komplex grafik och anpassade teman, på bekostnad av GDI:s bredare utbud av support och enhetliga kontrollteman. Det tillåter Windows att ladda ner vissa grafikuppgifter till grafikprocessorn . Detta minskar arbetsbelastningen på datorns CPU . GPU:er är optimerade för parallella pixelberäkningar. Detta tenderar att påskynda skärmuppdateringar till priset av minskad kompatibilitet på marknader där GPU:er inte nödvändigtvis är lika kraftfulla, såsom netbook- marknaden .
WPF:s betoning på vektorgrafik gör att de flesta kontroller och element kan skalas utan förlust i kvalitet eller pixelisering , vilket ökar tillgängligheten. Med undantag för Silverlight tillåter Direct3D-integrering strömlinjeformad 3D-rendering. Dessutom kan interaktivt 2D-innehåll läggas över på 3D-ytor.
Databindning
- WPF har en inbyggd uppsättning datatjänster för att göra det möjligt för applikationsutvecklare att binda och manipulera data i applikationer. Den stöder fyra typer av databindning:
- en gång: där klienten ignorerar uppdateringar på servern.
- ett sätt: där klienten har skrivskyddad åtkomst till data.
- två sätt: där klienten kan läsa från och skriva data till servern
- ett sätt att källa: där klienten endast har skrivåtkomst till data
- LINQ- frågor, inklusive LINQ till XML , kan också fungera som datakällor för databindning.
- Bindning av data har ingen betydelse för dess presentation. WPF tillhandahåller datamallar för att kontrollera presentationen av data.
- En uppsättning inbyggda kontroller tillhandahålls som en del av WPF, som innehåller objekt som knapp, meny, rutnät och listruta.
- Beroendeegenskaper kan läggas till i beteenden eller bifogade egenskaper för att lägga till anpassade bindningsegenskaper.
- Ett kraftfullt koncept i WPF är den logiska separationen av en kontroll från dess utseende.
- En kontrolls mall kan åsidosättas för att helt ändra dess visuella utseende.
- En kontroll kan innehålla vilken annan kontroll eller layout som helst, vilket möjliggör en hög grad av kontroll över sammansättningen.
- Har grafik i behållet läge . Att måla om skärmen är inte alltid nödvändigt.
Medietjänster
- WPF tillhandahåller ett integrerat system för att bygga användargränssnitt med vanliga mediaelement som vektor- och rasterbilder, ljud och video. WPF tillhandahåller också ett animationssystem och ett 2D/3D-renderingssystem.
- WPF tillhandahåller formprimitiver för 2D-grafik tillsammans med en inbyggd uppsättning penslar, pennor, geometrier och transformationer.
- 3D-funktionerna i WPF är en delmängd av den kompletta uppsättningen som tillhandahålls av Direct3D. WPF ger dock stramare integration med andra funktioner som användargränssnitt, dokument och media. Detta gör det möjligt att ha 3D-användargränssnitt, 3D-dokument eller 3D-media.
- Det finns stöd för de vanligaste bildformaten: BMP, JPEG, PNG, TIFF, Windows Media Photo , GIF och ICON.
- WPF stöder videoformaten WMV , MPEG och vissa AVI- filer som standard, men eftersom Windows Media Player körs under kan WPF använda alla codecs som är installerade för det.
Mallar
- I WPF kan du definiera utseendet på ett element direkt, via dess egenskaper, eller indirekt med en mall eller stil. Som enklast är en stil en kombination av egenskapsinställningar som kan tillämpas på ett UI-element med ett enda egenskapsattribut. Mallar är en mekanism för att definiera alternativa användargränssnitt för delar av din WPF-applikation. Det finns flera malltyper tillgängliga i WPF (ControlTemplate, DataTemplate, HierarchicalDataTemplate och ItemsPanelTemplate).
Kontrollmallar
- Under alla UI-kontroller i WPF ligger en ny kompositionsmodell. Varje kontroll består av en eller flera "visualer". Dessa visuella delelement förvandlas till ett hierarkiskt visuellt träd av WPF och renderas så småningom av GPU:n. Eftersom WPF-kontroller inte är omslag för standard Windows-kontroller kan deras användargränssnitt ändras radikalt utan att det påverkar kontrollens normala beteende.
- Varje kontroll i WPF har en standard "mall" som definierar dess visuella träd. Standardmallen skapas av kontrollförfattaren och kan ersättas av andra utvecklare och designers. Ersättningsgränssnittet placeras i en kontrollmall.
Datamallar
- WPF har ett flexibelt databindningssystem. UI-element kan fyllas i och synkroniseras med data från en underliggande datamodell. Istället för att visa enkel text för bundna data kan WPF tillämpa en datamall (utbytbart gränssnitt för .NET-typer) innan det renderas till det visuella trädet.
Animationer
- WPF stöder tidsbaserade animationer, i motsats till den rambaserade metoden. Detta frikopplar hastigheten på animeringen från hur systemet fungerar.
- WPF stöder animering på låg nivå via timers och abstraktioner på högre nivå av animationer via animationsklasserna.
- Alla WPF-elementegenskaper kan animeras så länge de är registrerade som en beroendeegenskap.
- Animationsklasser är baserade på .NET-typen av egendom som ska animeras. Till exempel, att ändra färgen på ett element görs med klassen ColorAnimation och animering av bredden på ett element (som skrivs som en dubbel) görs med klassen DoubleAnimation.
- Animationer kan grupperas i Storyboards.
- Storyboards är det primära sättet att starta, stoppa, pausa och på annat sätt manipulera animationerna.
- Animationer kan utlösas av externa händelser, inklusive användaråtgärder.
- Scenomritningar är tidsutlösta.
- Presentationstimer initieras och hanteras av WPF.
- Animationseffekter kan definieras per objekt, som kan nås direkt från XAML -uppmärkning.
Avbildning
- WPF har inbyggt åtkomst till Windows Imaging Component (WIC)-kod och API:er så att utvecklare kan skriva bildcodec för sina specifika bildfilformat.
Effekter
- WPF 3.0 tillhandahåller Bitmap-effekter (BitmapEffect-klassen), som är rastereffekter som tillämpas på en Visual. Dessa rastereffekter är skrivna i ohanterad kod och tvingar fram renderingen av Visual som ska utföras på CPU:n och inte hårdvara som accelereras av GPU:n. BitmapEffects fasades ut i .NET 3.5 SP 1.
- .NET Framework 3.5 SP1 lägger till Effect-klassen, som är en Pixel-Shader 2.0-effekt som kan appliceras på en visual, vilket gör att all rendering förblir på GPU:n.
- Effektklassen är utvidgningsbar, vilket gör att applikationer kan specificera sina egna shader-effekter.
- Effektklassen, i .NET 3.5 SP1 och 4.0, levereras med två inbyggda effekter, BlurEffect och DropShadowEffect. Det finns inga direkta ersättningar för OuterGlowBitmapEffect, EmbossBitmapEffect och BevelBitmapEffect, som tidigare tillhandahållits av den föråldrade BitmapEffect-klassen. Det finns dock andra sätt att uppnå samma resultat med klassen Effekt. Till exempel kan utvecklare få en yttre glödeffekt genom att använda DropShadowEffect med dess ShadowDepth inställd på 0.
- Även om BitmapEffect-klassen markerades som föråldrad i .Net Framework 3.5 SP1, var dess användning fortfarande tillåten och dessa effekter skulle fortfarande återges korrekt. I .Net Framework 4.0 fasades klassen BitmapEffect faktiskt ut - kodreferenser BitmapEffect byggs fortfarande utan fel, men ingen effekt renderas faktiskt.
Dokument
- WPF har inbyggt stöd för paginerade dokument. Den tillhandahåller
DocumentViewer
, som är till för att läsa dokument med fast layout. KlassenFlowDocumentReader
erbjuder olika visningslägen, såsom per sida eller rullningsbar, och omformar även text om visningsområdet ändras. - Stöder inbyggt XML Paper Specification- dokument.
- Stöder läsning och skrivning av paginerade dokument med Open Packaging Conventions .
Text
- WPF innehåller ett antal textåtergivningsfunktioner som inte var tillgängliga i GDI . Detta är det första Microsofts programmeringsgränssnitt som exponerar OpenType- funktioner för programvaruutvecklare, som stöder OpenType, TrueType och OpenType CFF ( Compact Font Format )-teckensnitt.
- Stöd för typografiska funktioner i OpenType inkluderar:
- Ligaturer
- Gamla siffror (till exempel delar av glyfen hänger under textens baslinje)
- Swash varianter
- Bråk
- Upphöjd och nedsänkt
- Små bokstäver
- Justering på linjenivå
- Ruby karaktärer
- Glyfersättning
- Flera baslinjer
- Kontextuella och stilistiska alternativ
- Kerning
- WPF hanterar texter i Unicode , och hanterar texter oberoende av globala inställningar, såsom systemlokal. Dessutom finns reservmekanismer för att tillåta skrivriktning (horisontell kontra vertikal) hanterad oberoende av teckensnittsnamn; bygga internationella typsnitt från sammansatta typsnitt med hjälp av en grupp enspråkiga typsnitt; inbäddning av sammansatta teckensnitt. Teckensnittslänkning och alternativ typsnittsinformation lagras i en portabel XML-fil, med hjälp av komposittypsnittsteknik. XML-filen har tillägget .CompositeFont .
- WPF-textmotorn stöder också inbyggd stavningskontroll . Den stöder även funktioner som automatiskt radavstånd, förbättrad internationell text, språkstyrd radbrytning, avstavning och justering, bitmappseffekter, transformeringar och texteffekter som skuggor, oskärpa, glöd, rotation etc. Animerad text stöds också; detta hänvisar till animerade glyfer, såväl som förändringar i realtid i textens position, storlek, färg och opacitet.
- WPF-textrendering drar fördel av framsteg inom ClearType- teknik, såsom subpixelpositionering, naturliga framstegsbredder, Y-riktningskantutjämning, hårdvaruaccelererad textrendering , samt aggressiv cachning av förrenderad text i videominnet. ClearType kan inte stängas av i äldre WPF 3.x-program. Till skillnad från ClearType i GDI eller GDI+, fäster WPF ClearType inte glyf till pixlar horisontellt, vilket leder till en förlust av kontrast som ogillas av vissa användare. Textåtergivningsmotorn har skrivits om i WPF 4.0, vilket korrigerar detta problem.
- I vilken utsträckning glyfer cachelagras beror på grafikkortet. DirectX 10-kort kan cachelagra teckensnittsglyfer i videominnet och sedan utföra kompositionen (sammansättning av teckenglyfer i rätt ordning, med rätt avstånd), alfablandning (tillämpning av kantutjämning) och RGB-blandning (ClearTypes sub-pixel färgberäkningar), helt i hårdvara. Detta innebär att endast de ursprungliga glyferna behöver lagras i videominnet en gång per teckensnitt (Microsoft uppskattar att detta skulle kräva 2 MB videominne per teckensnitt), och andra operationer som visning av kantutjämnad text ovanpå annan grafik — inklusive video — kan också göras utan någon beräkningsansträngning från processorns sida. DirectX 9-kort kan bara cache de alfa-blandade glyferna i minnet, vilket kräver att processorn hanterar glyfkomposition och alfablandning innan de skickas till grafikkortet. Att cachelagra dessa delvis renderade glyfer kräver betydligt mer minne (Microsoft uppskattar 5 MB per process). Kort som inte stöder DirectX 9 har inga maskinvaruaccelererade textåtergivningsmöjligheter.
Interoperabilitet
-
Windows Forms är också möjligt genom att använda klasserna
ElementHost
ochWindowsFormsHost .
För att möjliggöra användningen av WinForms, kör utvecklaren detta från sin WPF C#-kod:
System.Windows.Forms.Integration.WindowsFormsHost.EnableWindowsFormsInterop();
Alternativ ingång
- WPF stöder digital bläck -relaterad funktionalitet.
- WPF 4.0 stöder multi-touch-ingång på Windows 7 och senare.
Tillgänglighet
- WPF stöder Microsoft UI Automation för att göra det möjligt för utvecklare att skapa tillgängliga gränssnitt.
- Detta API tillåter också automatiserade testskript att interagera med användargränssnittet.
XAML
Efter framgången med märkningsspråk för webbutveckling, introducerar WPF eXtensible Application Markup Language ( XAML ; / ˈ z æ m əl / ), som är baserat på XML . XAML är utformad som en mer effektiv metod för att utveckla applikations användargränssnitt. Den specifika fördelen som XAML ger WPF är att XAML är ett helt deklarativt språk, som gör det möjligt för utvecklaren (eller designern) att beskriva beteendet och integrationen av komponenter utan användning av procedurprogrammering . Även om det är sällsynt att en hel applikation kommer att byggas helt i XAML, tillåter introduktionen av XAML applikationsdesigners att mer effektivt bidra till applikationsutvecklingscykeln. Att använda XAML för att utveckla användargränssnitt möjliggör även separation av modell och vy, vilket anses vara en bra arkitektonisk princip. I XAML mappas element och attribut till klasser och egenskaper i de underliggande API:erna.
Liksom i webbutveckling är både layouter och specifika teman väl lämpade för uppmärkning, men XAML krävs inte för någondera. Alla delar av WPF kan faktiskt kodas i ett .NET- språk ( C# , VB.NET ). XAML-koden kan i slutändan kompileras till en hanterad assembly på samma sätt som alla .NET-språk är.
Arkitektur
WPF:s arkitektur spänner över både hanterad kod och inbyggda kodkomponenter . Det offentliga API exponerade är dock endast tillgängligt via hanterad kod. Medan majoriteten av WPF är i hanterad kod, är kompositionsmotorn som återger WPF-applikationerna en inbyggd komponent. Det heter Media Integration Layer (MIL) och finns i milcore.dll
. Den har ett gränssnitt direkt med DirectX och ger grundläggande stöd för 2D- och 3D-ytor, timerstyrd manipulering av innehållet på en yta i syfte att exponera animationskonstruktioner på en högre nivå och sammansätta de individuella elementen i en WPF-applikation till en slutlig 3D " scen" som representerar applikationens användargränssnitt och återger det till skärmen. Desktop Window Manager använder också MIL för skrivbords- och fönsterkomposition. Mediacodecs implementeras också i ohanterad kod och levereras som windowscodecs.dll
. I den hanterade världen tillhandahåller PresentationCore ( presentationcore.dll
) en hanterad wrapper för MIL och implementerar kärntjänsterna för WPF, inklusive ett fastighetssystem som är medvetet om beroenden mellan sättare och konsumenter av fastigheten, ett meddelandesändningssystem med hjälp av av ett Dispatcher-
objekt för att implementera ett specialiserat händelsesystem och tjänster som kan implementera ett layoutsystem såsom mätning för UI-element. PresentationFramework ( presentationframework.dll
) implementerar slutanvändarens presentationsfunktioner, inklusive layouter, tidsberoende, storyboardbaserade animationer och databindning.
WPF exponerar ett egenskapssystem för objekt som ärver från DependencyObject
, som är medvetna om beroenden mellan konsumenterna av fastigheten, och kan utlösa åtgärder baserat på förändringar i egenskaper. Egenskaper kan vara antingen hårdkodade värden eller uttryck, som är specifika uttryck som utvärderas till ett resultat. I den första versionen är uppsättningen uttryck som stöds stängd. Värdet på egenskaperna kan också ärvas från överordnade objekt. WPF-egenskaper stöder ändringsmeddelanden , som anropar bundna beteenden när någon egenskap hos något element ändras. Anpassade beteenden kan användas för att sprida en egenskapsändringsmeddelande över en uppsättning WPF-objekt. Detta används av layoutsystemet för att trigga en omräkning av layouten vid egenskapsändringar, vilket exponerar en deklarativ programmeringsstil för WPF, där nästan allt, från att ställa in färger och positioner till att animera element, kan uppnås genom att ställa in egenskaper. Detta gör att WPF-applikationer kan skrivas i XAML , som är ett deklarativt märkningsspråk, genom att binda nyckelord och attribut direkt till WPF-klasser och egenskaper.
Gränssnittselementen i en WPF-applikation bibehålls som en klass av visuella
objekt. Visuella objekt tillhandahåller ett hanterat gränssnitt till ett kompositionsträd som underhålls av Media Integration Layer (MIL). Varje element i WPF skapar och lägger till en eller flera kompositionsnoder till trädet. Kompositionsnoderna innehåller renderingsinstruktioner, såsom klippnings- och transformationsinstruktioner, tillsammans med andra visuella attribut. Således representeras hela applikationen som en samling kompositionsnoder, som lagras i en buffert i systemminnet. Med jämna mellanrum går MIL i trädet och utför renderingsinstruktionerna i varje nod, och sammansätter därmed varje element på en DirectX-yta, som sedan renderas på skärmen. MIL använder målarens algoritm , där alla komponenter renderas från baksidan av skärmen till framsidan, vilket gör att komplexa effekter som genomskinligheter enkelt kan uppnås. Denna renderingsprocessen är hårdvaruaccelererad med GPU:n. Kompositionsträdet cachelagras av MIL, vilket skapar grafik i behållet läge , så att eventuella ändringar i kompositionsträdet bara behöver kommuniceras stegvis till MIL. Detta frigör också applikationerna för att hantera ommålning av skärmen; MIL kan göra det själv eftersom det har all nödvändig information. Animationer kan implementeras som tidsutlösta ändringar i kompositionsträdet. På den användarsynliga sidan specificeras animationer deklarativt, genom att ställa in någon animationseffekt på något element via en egenskap och ange varaktigheten. Koden bakom uppdaterar trädets specifika noder, via Visual-
objekt, för att representera både mellantillstånden vid specificerade tidsintervall såväl som elementets slutliga tillstånd. MIL återger ändringarna av elementet automatiskt. Alla WPF-applikationer börjar med två trådar: en för hantering av användargränssnittet och en annan bakgrundstråd för hantering av rendering och ommålning. Rendering och ommålning hanteras av WPF själv, utan någon inblandning från utvecklaren. Gränssnittstråden innehåller Dispatcher (via en instans av DispatcherObject
), som upprätthåller en kö av UI-operationer som måste utföras (som ett träd av visuella
objekt), sorterade efter prioritet. UI-händelser, inklusive ändring av en egenskap som påverkar layouten, och användarinteraktionshändelser som uppstår ställs i kö i dispatchern, som anropar hanterarna för händelserna. Microsoft rekommenderar att händelsehanterarna endast uppdaterar egenskaperna för att återspegla nytt innehåll för applikationsrespons, med det nya innehållet som genereras eller hämtas i en bakgrundstråd. Renderingstråden plockar upp en kopia av det visuella trädet och går genom trädet och beräknar vilka komponenter som kommer att vara synliga och återger dem till Direct3D-ytor. Renderingstråden cachar också det visuella trädet, så endast ändringar i trädet behöver kommuniceras, vilket kommer att resultera i att bara de ändrade pixlarna uppdateras. WPF stöder en utdragbar layoutmodell. Layouten är uppdelad i två faser: Mät ; och Arrangera . Mätfasen anropar alla element rekursivt och bestämmer storleken de kommer att ha . I Arrange- fasen arrangeras de underordnade elementen rekursivt av sina föräldrar och anropar layoutalgoritmen för layoutmodulen som används.
Verktyg
Ett antal utvecklingsverktyg finns tillgängliga för att utveckla Windows Presentation Foundation-applikationer.
Microsofts verktyg
- Microsoft Visual Studio är en utvecklarorienterad IDE som innehåller en kombination av XAML-redigerare och WPF visuell designer, som börjar med Visual Studio 2008.
- Före Visual Studio 2008 var WPF-designertillägget , kodnamnet Cider, den ursprungliga versionen av en WYSIWYG-redigerare för att skapa WPF-fönster, sidor och användarkontroller. Den var tillgänglig för Visual Studio 2005 som Visual Studio 2005-tillägg för .NET Framework 3.0 CTP för den första utgåvan av WPF.
- Microsoft Visual Studio Express 2008 och senare utgåvor, särskilt Visual C# Express och Visual Basic Express, har också WPF-designern integrerad.
- Microsoft Blend är ett designerorienterat verktyg som tillhandahåller en rityta för att skapa WPF-applikationer med 2D- och 3D-grafik, text och formulärinnehåll. Den genererar XAML som kan exporteras till andra verktyg och delar lösning (sln-filer) och projektformat (csproj, vbproj) med Microsoft Visual Studio.
- Microsoft Expression Design är ett bitmapps- och 2D-vektorgrafikverktyg för export till XAML .
- XAMLPad är ett lättviktigt verktyg som ingår i .NET Framework SDK. Det kan skapa och rendera XAML-filer med en delad skärm UI-layout. Det ger också en trädvy av markeringen i en panel.
Tredjepartsverktyg
- SharpDevelop , en .NET IDE med öppen källkod, innehåller funktioner för WPF-applikationsdesign. Det är ett gratis alternativ till Visual Studio.
- PowerBuilder .NET av Sybase är ett 4GL-verktyg som översätter PowerBuilder-kod, grafiska objekt till XAML och gör det möjligt att distribuera applikationen som ett WPF-mål.
- Essential Studio for WPF av Syncfusion är ett paket med över 100 moderna WPF UI-kontroller för att bygga vackra, högpresterande WPF-applikationer.
Spridning
WPF:s distributionsmodell erbjuder både fristående och XAML Browser Applications (XBAP, uttalas "ex-bap") smaker. Programmeringsmodellen för att bygga båda typerna av applikationer är liknande.
Fristående applikationer är de som har installerats lokalt på datorn med hjälp av programvara som ClickOnce eller Windows Installer (MSI) och som körs på skrivbordet. Fristående applikationer anses vara fullt förtroende och har full tillgång till en dators resurser.
XAML Browser Applications ( XBAPs ) är program som finns i en webbläsare . Pre-.NET4 XBAP-applikationer körs i en partiell trust- sandlådemiljö och ges inte full tillgång till datorns resurser och inte all WPF-funktionalitet är tillgänglig. Den värdbaserade miljön är avsedd att skydda datorn från skadliga program. XBAPs kan köras som helt pålitliga applikationer i .NET 4, med full tillgång till datorresurser. Att starta en XBAP från en HTML-sida eller vice versa är sömlöst (det finns ingen säkerhets- eller installationsprompt). Även om man får uppfattningen att applikationen körs i webbläsaren, körs den faktiskt i en körbar fil som inte är i processen som skiljer sig från webbläsaren.
Internet Explorer
Från och med lanseringen av .NET Framework 3.0 skulle XBAPs endast köras i IE.
Firefox-stöd
Med lanseringen av .NET Framework 3.5 SP1, körs XBAP även i Mozilla Firefox med det medföljande tillägget. Den 16 oktober 2009 lade Mozilla till Firefox plugin och tillägg till sin blocklista med tillägg, på grund av en allvarlig säkerhetsrisk som kan exploateras på distans, i samförstånd med Microsoft. Två dagar senare togs spärren bort. På Windows 7 körs inte Firefox-plugin som standard. En ominstallation av .NET Framework 3.5 SP1 kommer att installera plugin-programmet och lägga till stöd för XBAP-applikationer på Firefox. Alternativt, genom att kopiera plugin- DLL:erna från en fungerande Windows XP/Vista-installation till plugin-katalogen i Mozilla Firefox kommer även stödet för XBAP-applikationer att återställas. WPF-plugin-DLL:erna finns i följande kataloger (beroende på Framework-versionen):
- 3.5 [SP1]
- C:\Windows\Microsoft.NET\Framework\v3.5\WPF\NPWPF.dll
- 4.0
- C:\Windows\Microsoft.NET\Framework\WPF\NPWPF.dll
Microsoft Silverlight
Silverlight (kodnamnet WPF/E) är en föråldrad webbläsarplugin som innehöll WPF-baserad teknologi (inklusive XAML) som gav funktioner som video, vektorgrafik och animationer till flera operativsystem inklusive Windows 7 , Windows Vista , Windows XP och Mac OS X. Microsoft sanktionerade ett begränsat antal tredjepartsutvecklare för att arbeta med portar för vissa Linux- distributioner. Specifikt tillhandahålls det som ett tillägg för Mozilla Firefox , Internet Explorer 6 och senare, Google Chrome 42 och senare och Apple Safari .
.NET Micro Framework
.NET Micro Framework inkluderar en GUI-objektmodell som är löst baserad på WPF, men utan stöd för XAML.
Bibliografi
- Adam Nathan : Windows Presentation Foundation Unleashed (WPF) , 21 december 2006, Sams Publishing, ISBN 0-672-32891-7
- Chris Anderson : Essential Windows Presentation Foundation (WPF) , 11 april 2007, Addison-Wesley, ISBN 0-321-37447-9
- Chris Sells, Ian Griffiths: Programming WPF , 28 augusti 2007, O'Reilly Media, ISBN 0-596-51037-3
- Arlen Feldman, Maxx Daymon: WPF in Action with Visual Studio 2008 , 21 november 2008, Manning Publications, ISBN 1-933988-22-3
externa länkar
- MSDN Library: Windows Presentation Foundation
- Rik typografi med Windows Presentation Foundation
- Windows Presentation Foundation User Education
- .NET-terminologi
- 2006 programvara
- Tidigare proprietär programvara
- Gratis och öppen källkod
- Microsoft Windows multimediateknik
- Microsofts gränssnitt för applikationsprogrammering
- Microsoft gratis programvara
- Programvara som använder MIT-licensen
- Widget-verktygssatser
- Gratis programvara endast för Windows