Bonjour à tous,
voilà, je recherche déjà depuis un petit moment comment bloquer les interactions de l'utilisateur avec l'interface (GUI) pendant que celle-ci est en train d'exécuter une animation.
J'ai mis en place dans mon logiciel un gestionnaire de pages, avec lequel je peux switcher les pages de l'interface. Voici les animations mises en place lors d'un changement de page.
Mais voilà, l'animation se déroule, mais si malencontreusement le client double clic sur un bouton, il se peut que le bouton de la page suivante, se trouvant au même endroit soit cliqué.
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 pages[pageNumber].BeginAnimation(Control.OpacityProperty, null); pages[pageNumber].Opacity = 0; pages[pageNumber].Visibility = Visibility.Visible; pages[pageNumber].RenderTransform = new ScaleTransform(); pages[pageNumber].RenderTransformOrigin = new Point(0.5, 0.5); DoubleAnimation fadeAnimate = new DoubleAnimation(); fadeAnimate.To = 1; fadeAnimate.Duration = new Duration(TimeSpan.FromSeconds(1)); pages[pageNumber].BeginAnimation(Control.OpacityProperty, fadeAnimate); ScaleTransform scaleTransform = (ScaleTransform)pages[pageNumber].RenderTransform; DoubleAnimation scaleAnimate = new DoubleAnimation(); scaleAnimate.Duration = new Duration(TimeSpan.FromSeconds(1)); scaleAnimate.To = 1; scaleAnimate.From = 0.9; scaleTransform.BeginAnimation(ScaleTransform.ScaleXProperty, scaleAnimate); scaleTransform.BeginAnimation(ScaleTransform.ScaleYProperty, scaleAnimate);
Alors, j'aimerai pouvoir bloquer l'interaction de mon interface pendant que les animations se déroulent. Avez vous une proposition à me soumettre?
J'ai déjà testé de désactiver (pages[pageNumber].isEnable = false) les pages juste avant l'animation et le réactiver après avoir lancé l'animation, mais c'était sans compter qu'une animation est non bloquante.
Merci d'avance à ceux qui pourront me répondre, et à ceux qui m'auront lu.
Partager