Skip to main content

Astuces pour de chouettes applications Silverlight

Par Yasser Makram, Consultant chez Santon.

Chargement

Lien de téléchargement

L'installation par défaut de Silverlight n'est pas très attirante. Si l'on prend l'exemple de Hard Rock café, on voit une image de prévisualisation de ce qu'on aura une fois le plugin Silverlight installé.

Si l'on utilise le contrôle asp:Silverlight, il suffit de placer un sous-élément, mais le speaer ne se souvient pas duquel car IntelliSense le lui propose tout seul d'habitude.

Si l'on utilise la balise <object>, il suffit de replacer les liens <a> dans cette balise.

Animation durant le chargement

L'animation par défaut n'est pas non plus très attrayante. On peut utiliser la classe WebClient et s'abonner à l'événment DownloadProgressChanged. Avec le WebClient on télécharge les ressources dont on a besoin.

Performance

  • Utiliser Visibility au lieu de Opacity pour cacher un élément
  • Ne pas utiliser Width & Height sur un MediaElement ou un object (utiliser le path)
  • Ne pas abuser de la transparence
  • Eviter le mode windowless
  • Attention à ne pas abuser du multithreading
  • Quand on n'a plus besoin d'un gestionnaire d'événement, se désabonner de l'événement

Threads

Ils offrent une amélioration de performance, surtout sur les machines multi-cores, mais il ne faut pas en abuser.

Pour le multithreading, utiliser la classe BackgroundWorker, qui s'utilise comme dans les Windows Forms.

Traduction

PIC_0050 Utiliser les fichiers resx, que l'on place dans un répertoire pour l'ordre. Dans le fichier XAML on rajoute un xmlns sur le répertoire des ressources (c'est un espace de nommage). Du coup il n'y a plus qu'à faire un binding sur une propriété de la classe qui a été générée par Visual Studio pour les ressources.

On n'a plus qu'à changer le paramètre uiculture passé à la balise <object>.

Animations

Ce n'est pas agréable de faire des animations en code C# ou VB.NET avec Silverlight. Pour se simplifier la vie dans ces cas, il y a une bibliothèque appelée Tweener:

http://www.codeplex.com/agTweener

Tweener permet de faire des zooms (animés) simplement en positionnant les propriétés ScaleX et ScaleY d'un Tween.

Intéraction page-Silverlight

Pour appeler une fonction JavaScript depuis le code Silverlight:

HtmlPage.Window.Invoke(nomFonction, paramètre)

Pour appeler une méthode .NET depuis le code JavaScript:

Placer les attributs ScriptableType et ScriptableMember, et appeler HtmlPage.RegisterScriptableObject.

Ajouter des thèmes

Silverlight.FX (téléchargeable sur http://www.nikhilk.net) permet de créer des thèmes pour les applications Silverlight.

Il permet en plus d'appliquer le ViewModel pattern aux applications Silverlight, ce qui permet d'écrire des tests unitaires automatisés sur les modèles.

Liens: consultant Silverlight, formation Silverlight, freelance Silverlight.

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