Bonjour,
j'ai créé une animation qui change la couleur de fond de mon canvas et je souhaite démarrer, arrêter et mettre en pause cette animation avec des boutons.
Le bouton Play fonctionne bien, alors que les deux autres ne fonctionne pas. La fenêtre de débugage me met "Unable to perform action because the specified storyboard was never applied to this object for interactive control".
Si quelqu'un peut m'aider, je vous met les codes
et la le C#
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 <Window.Resources> <Storyboard x:Key="AnimateWindow" AutoReverse="True" RepeatBehavior="Forever"> <ColorAnimation Storyboard.TargetName="myBackground" Storyboard.TargetProperty="(SolidColorBrush.Color)" From="GreenYellow" To="Azure" Duration="00:00:1"/> </Storyboard> </Window.Resources> [...] <Canvas.Background> <SolidColorBrush x:Name="myBackground"/> </Canvas.Background> <Button Canvas.Top="223" Canvas.Left="18" Height="21" Width="53" Name="BtnPlay" Content="Play" Click="BtnPlay_Click"/> <Button Canvas.Top="223" Canvas.Left="89" Height="21" Width="53" Name="BtnPause" Content="Pause" Click="BtnPause_Click" /> <Button Canvas.Top="223" Canvas.Left="158" Height="21" Width="53" Name="BtnStop" Content="Stop" Click="BtnStop_Click" />
Merci
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
21
22
23
24
25
26
27
28
29
30
31 private void BtnPlay_Click(object sender, RoutedEventArgs e) { var sb = this.TryFindResource("AnimateWindow") as Storyboard; if ((sb != null) && (!FlagPlay)) { sb.Begin(this); FlagPlay = true; } } private void BtnPause_Click(object sender, RoutedEventArgs e) { var sb = this.TryFindResource("AnimateWindow") as Storyboard; if ((sb != null) && (FlagPlay)) { sb.Pause(this); FlagPlay = false; } } private void BtnStop_Click(object sender, RoutedEventArgs e) { var sb = this.TryFindResource("AnimateWindow") as Storyboard; if ((sb != null) && (FlagPlay)) { sb.Stop(this); FlagPlay = false; } }![]()
Partager