Nouveautés de WPF version 4
Cette rubrique contient les informations sur les fonctionnalités nouvelles et améliorées dans Windows Presentation Foundation (WPF), version 4.
Cette rubrique contient les sections suivantes :
Nouveaux contrôles
Gestionnaire d'état visuel
Fonctions tactiles et manipulation
Graphiques et animations
Texte
Liaison
Applications du navigateur XAML
WPF et Windows
Concepteur WPF et Silverlight
Nouveaux contrôles
Trois nouveaux contrôles ont été ajoutés à WPF afin de simplifier la création d'applications de gestion des informations professionnelles. Ces contrôles sont quasiment compatibles à 100 pour cent avec les versions de Silverlight. Cela permet aux développeurs de réutiliser le code et de créer rapidement les versions de client et Web.
Gestionnaire d'état visuel
WPF offre une meilleure prise en charge pour la modification des états visuels dans ControlTemplate. La classe VisualStateManager et les classes de prise en charge ont été ajoutées afin que des outils tels que Microsoft Expression Blend puissent être utilisés pour définir l'apparence d'un contrôle en fonction de son état visuel. Par exemple, vous pouvez définir l'apparence d'un contrôle Button lorsqu'il est dans l'état Pressed. Pour plus d'informations sur la création d'un ControlTemplate qui utilise le VisualStateManager pour un contrôle existant, consultez Personnalisation de l'apparence d'un contrôle existant en créant un ControlTemplate. Pour plus d'informations sur la création d'un nouveau contrôle qui utilise le VisualStateManager, consultez Création d'un contrôle avec une apparence personnalisable.
Remarque |
---|
Les éléments peuvent tirer parti du VisualStateManager en dehors d'un ControlTemplate à l'aide de la méthode GoToElementState. |
Fonctions tactiles et manipulation
Les éléments dans WPF acceptent maintenant l'entrée tactile. Les classes UIElement, UIElement3D et ContentElement exposent les événements qui se produisent lorsqu'un utilisateur touche un élément sur un écran tactile. Outre les événements tactiles, UIElement prend en charge la manipulation. Une manipulation est interprétée pour mettre à l'échelle, faire pivoter ou traduire le UIElement. Par exemple, une application d'affichage de photos peut permettre aux utilisateurs de déplacer, d'effectuer un zoom, de redimensionner et de faire pivoter une photo en touchant cette dernière sur l'écran de l'ordinateur. Pour plus d'informations sur les fonctions tactiles, consultez Procédure pas à pas : création de votre première application Touch et Vue d'ensemble des entrées.
Graphiques et animations
Plusieurs modifications ont été apportées aux graphiques et aux animations.
Arrondi de disposition
Lorsque le bord d'un objet tombe au milieu d'un pixel de périphérique, le système de graphique indépendant des ppp peut créer des artefacts de rendu, tels que des bords flous ou semi-transparents. Les versions antérieures de WPF incluaient l'accrochage des pixels pour permettre de traiter ce cas. Silverlight 2 a introduit l'arrondi de disposition, qui est une autre manière de déplacer des éléments afin que les bords tombent sur les limites des pixels entières. WPF prend maintenant en charge l'arrondi de disposition avec la propriété jointe UseLayoutRounding sur FrameworkElement.
Composition mise en cache
En utilisant les nouvelles classes BitmapCache et BitmapCacheBrush, vous pouvez mettre en cache une partie complexe de l'arborescence d'éléments visuels en tant qu'image bitmap et améliorer nettement l'heure du rendu. L'image bitmap continue de réagir aux entrées d'utilisateur, telles que les clics de souris, et vous pouvez la peindre sur d'autres éléments comme avec n'importe quel pinceau.
Prise en charge de Pixel Shader 3
WPF 4 repose sur la prise en charge ShaderEffect introduite dans WPF 3.5 SP1 en autorisant maintenant des applications à écrire des effets à l'aide de Pixel Shader (PS) version 3.0. Le modèle du nuanceur de PS 3.0 est plus sophistiqué que celui de PS 2.0 et permet d'obtenir davantage d'effets sur le matériel pris en charge.
Fonctions d'accélération
Vous pouvez améliorer des animations avec des fonctions d'accélération, qui vous permettent de mieux contrôler le comportement des animations. Par exemple, vous pouvez appliquer une ElasticEase à une animation afin de lui conférer un comportement élastique. Pour plus d'informations, consultez les types d'accélération dans l'espace de noms System.Windows.Media.Animation.
Texte
Plusieurs modifications ont été apportées au texte.
Nouvelle pile de rendu de texte
La pile de rendu de texte WPF a été remplacée complètement. Cette modification apporte des améliorations à la possibilité de configuration, la clarté et la prise en charge du rendu de texte pour les langages internationaux. La nouvelle pile de texte prend maintenant en charge la sélection des modes de rendu avec alias, nuances de gris ou ClearType de manière explicite. La pile de texte prend maintenant en charge la disposition des caractères à l'affichage optimisé, afin de produire du texte d'une netteté comparable au texte Win32/GDI. La nouvelle pile de texte autorise l'optimisation de l'affinage et de l'accrochage de texte, qu'il soit animé ou statique. La nouvelle pile de texte prend également en charge des polices avec des images bitmap incorporées qui seront substituées par des tailles de polices plus petites, permettant ainsi à de nombreuses polices d'Extrême-Orient d'obtenir un rendu aussi nette que le texte Win32/GDI.
Sélection et personnalisation du signe insertion
Vous pouvez maintenant spécifier le pinceau qui peint la sélection et le signe insertion pour les contrôles d'entrée et de lecture, tels que TextBoxRichTextBox et FlowDocumentReader. Il existe deux nouvelles propriétés sur TextBoxBase :
SelectionBrush vous permet de créer un pinceau pour la mise en surbrillance du texte sélectionné ;
CaretBrush vous permet de modifier le pinceau qui peint le curseur.
Liaison
Différentes modifications et améliorations ont été apportées à la liaison.
Créez une liaison avec les commandes sur InputBinding.
Vous pouvez lier la propriété Command d'une classe InputBinding à une instance définie dans le code. Les propriétés suivantes sont des propriétés de dépendance, afin qu'elles puissent être des cibles de liaisons :
Les classes InputBinding, MouseBinding et KeyBinding reçoivent le contexte de données du FrameworkElement propriétaire.
Liaison aux objets dynamiques
WPF prend en charge la liaison de données aux objets qui implémentent IDynamicMetaObjectProvider. Par exemple, si vous créez un objet dynamique qui hérite de DynamicObject dans le code, vous pouvez utiliser l'extension de balisage pour créer une liaison avec l'objet dans XAML. Pour plus d'informations, consultez Vue d'ensemble des sources de liaison.
Séquence de texte pouvant être lié
Run.Text est maintenant une propriété de dépendance. L'avantage principal est qu'il prend maintenant en charge des liaisons unidirectionnelles. Il prend également en charge d'autres fonctionnalités de propriétés de dépendance, telles que la création de styles et de modèles.
Applications du navigateur XAML
Deux fonctionnalités ont été ajoutées aux XAML browser applications (XBAPs).
Interopérabilité des scripts HTML_XBAP
Vous pouvez maintenant communiquer avec la page Web qui contient le XBAP lorsque l'application est hébergée dans un frame HTML. Le XBAP peut obtenir l'accès complet au DOM HTML et peut gérer des événements DOM. Pour plus d'informations, consultez BrowserInteropHelper.HostScript.
Déploiement XBAP de confiance totale
Si votre XBAP requiert la confiance totale, l'utilisateur recevra maintenant automatiquement l'invite d'élévation ClickOnce standard lors de l'installation de l'application à partir de l'intranet ou de l'un des sites approuvés de son navigateur.
Pour plus d'informations sur ces deux fonctionnalités, voir Vue d'ensemble des applications de navigateur XAML.
WPF et Windows
La barre des tâches Windows 7 fournit des fonctionnalités améliorées qui vous permettent d'utiliser le bouton de la barre des tâches pour communiquer l'état à un utilisateur et exposer les tâches courantes. Les nouveaux types dans l'espace de noms System.Windows.Shell fournissent des wrappers managés pour les fonctionnalités dans la barre des tâches Windows 7 et gèrent les données passées au shell Windows. Par exemple, le type JumpList vous permet d'utiliser des listes de raccourcis et le type TaskbarItemInfo vous permet d'utiliser des miniatures de la barre des tâches.
Les boîtes de dialogue WPF sur Windows 7 et Windows Vista prennent maintenant en charge l'apparence du style Windows 7 et Windows Vista, qui inclut des emplacements personnalisés. Pour plus d'informations, consultez la classe FileDialogCustomPlace.
Concepteur WPF et Silverlight
Dans Visual Studio 2010, différentes améliorations du concepteur ont été apportées pour aider à créer des applications WPF ou Silverlight.
Prise en charge améliorée de Silverlight
Dans Visual Studio 2008, vous pourriez installer Silverlight Tools pour créer des applications Silverlight dans Visual Studio. Toutefois, la prise en charge du concepteur pour les projets Silverlight s'est avérée limitée. Dans Visual Studio 2010, le niveau de prise en charge du concepteur des projets Silverlight et WPF est maintenant similaire. Par exemple, dans les projets Silverlight, vous pouvez maintenant sélectionner et positionner des éléments avec la souris sur l'aire de conception.
Prise en charge de plusieurs versions de plateformes
Dans Visual Studio 2008, les temps de conception des contrôles ne pouvaient cibler que la dernière version de la plateforme WPF. Dans Visual Studio 2010, cette prise en charge est étendue à l'ensemble des plateformes, y compris la prise en charge au moment du design pour WPF 3.5, WPF 4, Silverlight 3, Silverlight 4 et les versions de plateformes à venir. Comme la même API d'extensibilité existe pour toutes ces plateformes, les auteurs des temps de conception des contrôles peuvent facilement écrire une expérience utilisateur et la partager sur l'ensemble des exécutions de contrôles pour chaque plateforme.
Liaison de données visuelle
Le nouveau générateur de liaisons de données permet la construction visuelle et la modification de liaisons sans taper XAML.
Disposition automatique
Les améliorations de disposition incluent un concepteur Grid plus intuitif et une meilleure prise en charge des contrôles utilisateur à retaille automatique.
Modification de propriété améliorée
La fenêtre Propriétés permet maintenant la création et la modification visuelles des ressources Brush.
Pour plus d'informations, consultez Concepteur WPF.