Qu’est ce que WPF ?
Windows Presentation Foundation, plus couramment nommé WPF est un sous-système graphique pour le rendu des interfaces utilisateur dans les applications Windows.
Précédemment connu sous le nom «Avalon», WPF fut développé dans le cadre du Framework .NET 3.0. Il est basé sur DirectX, supportant ainsi l'accélération matérielle et des fonctionnalités d'interface modernes comme la transparence et les dégradés.
WPF offre également un nouveau langage basé sur XML, le XAML (eXtensible Application Markup Language), permettant ainsi de séparer clairement l’interface utilisateur et la logique métier, partageant de ce fait le travail du designer et du codeur.
Finissons par dire qu’une application WPF peut tout aussi bien être déployé sur le bureau ou hébergées dans un navigateur Web et que sa nouvelle version, WPF 4 sort aujourd’hui, le 12/04/2010.
Ce qu’apporte WPF 4
Plusieurs années se sont écoulées depuis les débuts de WPF, ce qui en fait une technologie de plus en plus mature, et de ce fait de plus en plus apte à s’attaquer à des applications métier. C’est en partie sur ce point qu’est axé WPF4, en test depuis quelques mois et désormais disponible au grand public. S’adaptant à Windows 7, cette nouvelle version de WPF apporte de nombreuses avancées concernant l’optimisation et la prise en main pour les développeurs.
Première des nouveautés abordées, l’affichage du texte. En effet, avant WPF 4, on pouvait rencontrer des problèmes de lisibilité des textes, quand ceux-ci étaient écrits en trop petit par exemple. On comprend donc l’arrivée de ClearTypeHint qui améliore l’affichage de Cleartype, et permet donc un meilleur affichage à l’écran grâce à une option de lissage des polices.
On remarquera l’arrivée d’une propriété arrivant directement de Microsoft Silverlight : LayoutRounding qui agit au niveau des contrôles. Cette dernière évite le flou que l’on pouvait remarquer sous WPF 3.5 et ses prédécesseurs.
Les animations sont désormais optimisées grâce à un traitement toujours inspiré de Silverlight. L’une des nouveautés sont les « Easing Animations » permettant de « jouer » avec les accélérations/décélérations, rendant les animations plus naturelles, plus fluides et surtout plus simple à implémenter pour le codeur.
D’autres innovations directement inspirés de Silverlight apparaissent comme Visual State Manager, qui permet de gérer différents états visuels au niveau des contrôles ou encore Cached Composition. Ce dernier permet quant à lui de mettre en cache les éléments de l’interface graphique sous forme de bitmap. Le rendu d’une image étant bien plus rapide qu’en temps normal, cela apporte un gros avantage. Un inconvénient en ressort néanmoins, il faudra se méfier des zooms. Vous l’aurez compris, suite à un important grossissement, la qualité d’une image est bien inférieure à celle d’un rendu vectoriel.
Nous l’avons vu et Microsoft l’a clairement annoncée, avec WPF 4 arrive la volonté de se rapprocher du Silverlight et donc des applications web qu’elles soient online ou out of browser.
Beaucoup les attendaient, de nouveaux contrôles comme Datagrid, Calendar ou encore DatePicker sont désormais nativement intégrés. En effet, ceux-ci n’existaient que dans le WPF toolkit mis à disposition par Microsoft et sont dorénavant plus facilement accessible.
L’environnement de développement a également grandement évolué dans le sens des fonctionnalités avec l’arrivée d’un éditeur de ressource et de binding directement intégré, l’amélioration du sélectionneur de couleur…
A noter également l’arrivée de Custom Speller Dictionnary, qui démontre de l’avancée attendue dans le domaine de la gestion des dictionnaires. En effet, avant WPF 4, le correcteur de texte de WPF n’était pas aisément personnalisable. Il suffira désormais d’ajouter un fichier .lex (un simple document texte) à notre application pour enrichir notre dictionnaire.
Une grosse amélioration arrive également au niveau du Binding. Avant WPF 4, la propriété Command n’était pas une DependencyProperty, il était alors impossible de binder. Désormais avec WPF4, Command, Key et Modifiers sont des DependencyProperties, cela devient donc possible.
On notera également l’arrivée des objets dynamiques que je vous laisse découvrir plus amplement avec l’article suivant : http://www.labo-dotnet.com/post/VB10-et-C-4-les-langages-net-evoluent.aspx
Dans cette nouvelle version, WPF 4 s’adapte au nouvel OS en vigueur : Windows Seven. Première innovation présentée : Les Jumplists, c'est-à-dire le panneau qui s’ouvre suite à un clic droit sur une icône de la barre des taches. Une image valant mieux qu’un long discours, une Jumplist, c’est ça :

Elles sont entièrement et facilement personalisables grâce à une API managée native dans WPF 4.
On peut, par exemple, modifier l’icône dans la barre des taches, ajouter ou supprimer des éléments ou des applications.
WPF 4 ne serait pas complet sans la gestion du Multitouch. C’est donc tout naturellement que cette technologie est intégrée de manière native et applicable à tous les UIElements grâce à une API de gestion du tactile.
Finalement, nous pouvons résumer cette nouvelle version de WPF en 3 mots : Innovation, Amélioration et optimisation.
38e2f048-5918-45e8-9926-35c0faeb0879|0|.0
C#, Visual Studio 2010, WPF