Bonjour,
Je cherche, sans solution pour le moment , à développer un composant de type LED qui puisse clignoter à la demande et tant qu'on le l'arrête pas.
sous XAML c'est une simple ellipse nommée Light_1
et sous VB.net, j'aimerais développer un truc qui changerait simplement la couleur initiale vers une autre puis revenir à la couleur initiale etc... tant qu'on ne l'arrête pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <UserControl x:Class="LED" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:Simulateur_CNC" mc:Ignorable="d" d:DesignHeight="300" Width="300"> <Grid Margin="0,0,200,177"> <Ellipse x:Name="Light_1" Stroke="#FFFF4747" Cursor="None" Margin="0,0,0,23"> <Ellipse.Fill> <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5"> <GradientStop Color="Pink" Offset="0.1" /> <GradientStop Color="#FFFF4747" Offset="0.6" /> <GradientStop Color="Red" Offset="1" /> </RadialGradientBrush> </Ellipse.Fill> </Ellipse> </Grid> </UserControl>
Bref, je n'y arrive pas après moultes essais infructueux
J'ai bien essayé ce type d'animation, mais ça ne le fait qu'une fois (OK je change la taille et pas la couleur , mais comme c'est récupéré, j'ai fais facile).
Bref y aurait il une âme charitable qui aurait déjà fait ça ou qui saurait me dire comment faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Public Sub Zoom() ' Create a DoubleAnimation to animate its width. Dim MaDurée As New Duration(TimeSpan.FromSeconds(5)) Dim MonAnimation As New DoubleAnimation(57, 570, MaDurée) Dim MonHorloge As AnimationClock 'widthAnimation.RepeatBehavior = RepeatBehavior.Forever MonAnimation.AutoReverse = True MonAnimation.SpeedRatio = 0.5 'widthAnimation. ' Create a clock from the animation. MonHorloge = MonAnimation.CreateClock() ' Apply the clock to the rectangle's Width property. 'LED.ApplyAnimationClock(Rectangle.WidthProperty, MonHorloge) ApplyAnimationClock(Ellipse.WidthProperty, MonHorloge) ApplyAnimationClock(Ellipse.HeightProperty, MonHorloge) End Sub
Merci d'avoir pris la patience de me lire jusque là.
Partager