En Silverlight vous pouvez utiliser le contrôle Storyboard pour animer une propriété d’un objet. Il peut être utilisé pour des propriétés de type double, Color ou Point. Par exemple vous pouvez animer le changement de la propriété Opacity de type double d’un Rectangle en fonction du temps. Un Storyboard peut être déclaré dans votre XAML mais doit être placé comme une ressource. Par exemple, le Storyboard suivant est déclaré comme une ressource d’un objet Canvas :
<Canvas> <Canvas.Resources> <Storyboard x:Name="MyRect"> </Storyboard> </Canvas.Resources> </Canvas>
<Canvas>
<Canvas.Resources>
<Storyboard x:Name="MyRect">
</Storyboard>
</Canvas.Resources>
</Canvas>
Le contrôle Storyboard fournit deux options pour l’animation :
DoubleAnimation.
Comme je l'ai dit précédemment, DoubleAnimation utilise une direction (De/Vers) qui prend la propriété cible à partir une valeur à une autre. Examinons maintenant certaines des propriétés que DoubleAnimation fournit :
L’exemple suivant montre comment, avec DoubleAnimation nous modifions l’opacité d’une image en continue.
<Canvas> <Canvas.Resources> <Storyboard x:Name="CatSB"> <DoubleAnimation Storyboard.TargetName="MyCat" Storyboard.TargetProperty="UIElement.Opacity" Duration="00:00:02" From="1.0" To="0.0" AutoReverse="True" RepeatBehavior="Forever"> </DoubleAnimation> </Storyboard> </Canvas.Resources> <Image Source="cat.jpg" x:Name="MyCat" > </Image> </Canvas>
<Storyboard x:Name="CatSB">
<DoubleAnimation Storyboard.TargetName="MyCat" Storyboard.TargetProperty="UIElement.Opacity"
Duration="00:00:02" From="1.0" To="0.0"
AutoReverse="True" RepeatBehavior="Forever">
</DoubleAnimation>
<Image Source="cat.jpg" x:Name="MyCat" >
</Image>
Pour démarrer le Storyboard nous appelons la méthode CatSB.Begin(); depuis notre code.
Demo Live :
Syndication : Mike Snow’s Weblog Traduction autorisée par Mike Snow.