Skip to main content

Nouveautés de WPF 3.5 (Windows Presentation Foundation)

Toujours en direct du TechEd, voici le résumé de la conférence de Ian Griffits: "What's New In Windows Presentation Foundation (WPF) 3.5?"

3D

UIElement3D

Permet de traiter la saisie en 3D de manière plus simple.

En effet, dans la V3.0 du WPF on ne pouvait pas gérer d'événements sur les objets 3D eux-mêmes.

On utilise toujours des ModelVisual3D mais ils n'ont pas d'événements. On peut utiliser ModelUIElement3D est pratiquement comme ModelVisual3D, mais il génère des événements.

Viewport2DVisual3D

Permet de mapper des contrôles sur des formes 3D. Dans une démo: on voit des TextBox et Button mappés sur un cône en restant fonctionnelles.

En fait, on avait déjà ça dans la bibliothèque 3DTools de Microsoft.

On définit sa Geometry, puis il suffit d'ajouter les contrôles à mapper en tant que contenu de l'élément Viewport2DVisual3D (astuce: il faut mieux donner la taille du Content en passant une Width).

XBAPs

On peut les faire tourner sous Firefox. Ce n'était pas supporté par Microsoft avant.

On peut en outre gérer les cookies au sien du XBAP.

Data Binding

  • Support pour IDataErrorInfo pour étendre le système de validation. On implémente IDataErrorInfo sur la DataSource elle-même. Cela permet de prendre en charge la validation dépendant de plusieurs propriétés, contrairement au système de validation de la V3.0.
  • Debugging: c'est plus facile car on n'obtenait pas d'Exception en cas de problème. On peut en outre modifier le niveau de warning seulement pour un élément (avant on ne pouvait le faire que pour toute l'application).
  • Intégration avec l'historique de navigation.
  • Améliorations pour LINQ: XLinq a été intégré à WPF pour permettre une syntaxe sous forme de "Path" au lieu d'utiliser un "XPath".

Add-ins

Modèle d'add-ins du CLR. Gère:

  • la sécurité - le host et le composant tournent dans des AppDomains séparés;
  • la gestion des versions (et notamment le changement d'API sur l'application hébergeant le composant).

Seul problème: un AddIn possède un arbre visuel différent de celui du parent. Ce qui implique par exemple que le Background du conteneur n'est pas répercuté sur le composant.

Texte et Documents

  • Extension du RichTextBox: on peut héberger des contrôles dans un RichTextBox. Il suffit de rajouter un attribut IsDocumentEnabled sur les contrôles pour qu'ils ne soient plus grisées, contrairement à ce que l'on avait dans la V3.0.
  • Annotations: on peut maintenant récupérer l'emplacement d'une annotation (ce qui permet par exemple d'afficher à l'utilisateur le texte correspondant à l'une de ses annotations, donc de prendre en charge la navigation dans les annotations).

Performance

  • Moins de CPU
  • Les animations sont moins saccadées
  • La transparence sur les fenêtres bénéficie d'une accélération graphique
  • Les données XML DataBindées sont mises en cache

Comments

Popular posts from this blog

Learn Meteor book available

I'm pleased to announce the general release of my Learn Meteor book. It is now available as an ebook or print book from various sources: Learn Meteor print (paperback) on Lulu Learn Meteor ebook on LeanPub Learn Meteor ebook on Barnes & Noble Learn Meteor ebook on iBooks Learn Meteor ebook on Kobo Learn Meteor ebook on Scribd Learn Meteor ebook on Inktera Page Foundry Learn Meteor ebook on 24symbols Learn Meteor ebook on Amazon US Learn Meteor ebook on Amazon UK Learn Meteor ebook on Amazon France Learn Meteor ebook on Amazon Deutschland Learn Meteor ebook on Amazon Canada Learn Meteor ebook on Amazon India Learn Meteor ebook on Amazon Brasil Learn Meteor ebook on Amazon Mexico Learn Meteor ebook on Amazon España Learn Meteor ebook on Amazon Italia Learn Meteor ebook on Amazon Netherlands Learn Meteor ebook on Amazon Japan Learn Meteor ebook on Amazon Australia More sources are coming soon for the print version. Learn Meteor has been a fun experienc