Archive for December, 2008

Utiliser l’API de Reflection au sein de Silverlight

Aucun commentaire

J'ai dernièrement eu besoin de récupérer toutes les méthodes static d'une classe afin d'afficher le résultat visuel de celles-ci. En fait l'idée était d'afficher la courbe correspondante à chaque équation de mouvement contenues dans la classe TweenedEquations. Pour cela il suffit dans le framework Silverlight d'utiliser l'Api de Reflection contenue dans le package System.Reflection. Je mets ici en ligne la portion du code que j'ai utilisé afin d'automatiser l'instanciation automatisée d'un UserControl (composant) personnalisé. Read more »

Penner’s Equations Tweened Show

2 commentaires

Voici une représentation visuelle des équations de Mr rober Penner en Silverlight, vous remarquerez quelle n'y sont pas toutes :) . Vous pouvez retrouver la classe TweenedEquations ici.

Tweened Library released for Silverlight 2

8 commentaires

Je met aujourd'hui en ligne la version 2 de la librarie Tweened. Tweened est une librairie open-source en CSharp 3 permettant de générer des animations dynamiquement. Tweened est sous licence GNU General Public Licence v3.

Le principal objectif est d'animer n'importe quel objet visuel xaml de manière simple et efficace. Pour utiliser Tweened, il suffit juste de référencer la dll Tweened.dll au sein d'un projet Silverlight 2. Vous aurez alors la possibilité d'animer de manière simplifier, une couleur, une propriété simple comme l'opacité, et même les noeuds RenderTransform. Tweened fourni beaucoup d'avantages comme l'autoReverse d'une animation, le fait de pouvoir décaler une animation ou une séquence via la propriété BeginTime , la possibilité de modifier la vitesse à laquelle se déroule l'animation via SpeedRatio,etc...

Pour simplifier, Tweened vous aide à animer des objets visuels via une ou deux lignes de code C# au lieu de créer les animations au sein de Blend. L'idée général d'une telle librairie est que les animations dynamiques générées par code sont plus faciles à crées et à maintenir. La syntaxe pour créer des tweens a été conçue afin de proposer la manière la plus simple de coder tout en proposant des fonctionnalités avancées comme la diffusion d'événements de fin de lecture ou encore la gestion de séquences au sein d'une animation.

http://library.tweened.org/examples/menu/

En interne la classe Tween crée deux Storyboards, le premier gère toutes les séquences à l'aller, le second gère toutes les séquences au retour, afin de pouvoir proposer l'animation opposée. Chacun de ces Storyboards contient des séquences sous forme de DoubleAnimation ou de ColorAnimation. Chaque séquence peut cibler indifféremment un objet et une propriété, par exemple l'objet rectangle et sa propriété X ou Angle. Un seul tween peut donc animer plusieurs objets indépendants les uns des autres et constituer une animation complexe. Pour finir il faudra spécifier le type d'équation de mouvement et la durée dont vous aurez besoin pour chaque séquence, ainsi faire rebondir une balle ou créer des menus animés devient un jeu d'enfant.

URL :: http://library.tweened.org/
Online Documentation :: http://library.tweened.org/doc/html/
Chm Documentation :: http://library.tweened.org/doc/Tweened.chm

VisualStateManager disponible dans Blend 2 SP1 pour les projets WPF

Aucun commentaire

Visual State Manager

Visual State Manager

Je relaye cette news car ce serait dommage de la manquer. Jusqu'à maintenant le VisualStateManager était une fonctionnalité propres aux projets Silverlight 2 (vous trouverez une vidéo sur l'utilisation du VisualStateManager en français ici) cependant il est désormais possible de télécharger le WPF ToolKit, celui-ci propose notamment l'intégration du VisualStateManager pour Blend 2. Pour récupérer pleinement cette fonctionnalité, je vous conseille d'aller voir ce site. C'est vraiment un bonne nouvelle qui présage d'une importante évolution pour le futur de Blend. Pour ma part je l'ai essayé et rien à dire sinon que l'intégration n'est pas encore faite au niveau des composants eux-mêmes pour le moment. Biensur le VisualStateManager existe pour n'importe quel USerControl mais il n'est pas réellement implémenter pour les composants ce qui est assez logique. Ainsi vous ne pouvez pas encore gérer les états d'un bouton, Slider ou ListBox via ce Manager comme vous le faites sur Silverlight.