WPF progresse avec .Net 3.5
Linq occupe une telle place dans le buzz autour des nouveautés de .Net 3.5 sorti il y a deux mois qu'on en oublierait presque que Window Presentation Foundation (WPF) progresse lui aussi avec cette nouvelle mouture de .Net.
Bref, buzzons un peu sur les nouveautés de WPF en .Net 3.5, certaines méritent d'être connues.
RIA
- les applications WPF en mode Rich Internet Application que sont les applications XBAP (XAML Browser Application) peuvent maintenant s'exécuter sur Firefox en plus d'internet Explorer. Certes l'utilisateur final doit toujours installer .Net 3.5. Pour soulager l'utilisateur d'un téléchargement imposant il faut aujourd'hui se tourner vers Silverlight 1.0 et perdre 95% de la puissance de WPF.
- les cookies convoyés par une application Web sont maintenant exploitables par l'application XBAP et vice-versa.
3D intéractive
- Il manquait en WPF v1 (.Net 3.0) un moyen de coller simplement des éléments visuels interactifs sur des objets 3D. C'est chose faite en .Net 3.5 avec l'arrivée de la classe UIElement3D qui gère le focus et les événements du clavier et de la souris. C'est au développeur de créer ses classes dérivées de UIElement3D. Voir à ce propos le projet Perspective de Olivier Dewit disponible sur Codeplex.
- Mieux, on peut maintenant simplement plaquer sur des objets 3D des contrôles 2D (TextBox et Cie) grâce à la classe Viewport2DVisual3D. Cf. par exemple ce post de Lester Lobo.
Data Binding
- Le debugging du data binding s'est amélioré puisque les objets peuvent être notifié du statut du data binding via une nouvelle propriété attachée TraceLevel.
- Les objets métiers (ou les objets dédiés à la validation) peuvent valider ou invalider les changements des propriétés en implémentant l'interface IDataErrorInfo.
- Le couplage avec les collections issues de Linq a été amélioré.
Il faut ajouter à ces points à fort impact des progrès disséminés sur l'ensemble de WPF, dont les contrôles (RichTextBox en particulier), les documents (une propriété Selection sur les FlowDocuments est bien utile), les annotations et les add-in.
Commentaires