IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Animation binding SpeedRatio


Sujet :

Windows Presentation Foundation

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 220
    Points
    220
    Par défaut Animation binding SpeedRatio
    Bonjour tout le monde,

    J'essaie de binder le SpeedRatio d'une animation sur une propriété de mon ViewModel mais j'ai beau changer la valeur de la propriété, la vitesse de l'animation reste la même. J'ai également essayé de binder la Duration de l'animation mais ça ne fonctionne pas non plus.

    J'ai fait le petit xaml de test ci-dessous, dans lequel je binde le SpeedRatio sur la valeur d'un Slider, mais ça non plus ça ne fonctionne 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     <Window.Resources>
            <Storyboard x:Key="Storyboard1">
                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00"
                                               Storyboard.TargetName="_border"
                                               Storyboard.TargetProperty="(UIElement.Opacity)"
                                               AutoReverse="True"
                                               Duration="00:00:01"
                                               RepeatBehavior="Forever"
                                               SpeedRatio="{Binding ElementName=_slider, Path=Value}">
                    <SplineDoubleKeyFrame KeyTime="00:00:00"
                                          Value="0" />
                    <SplineDoubleKeyFrame KeyTime="00:00:01"
                                          Value="1" />
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>
        </Window.Resources>
     
        <Window.Triggers>
            <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                <BeginStoryboard Storyboard="{StaticResource Storyboard1}" />
            </EventTrigger>
        </Window.Triggers>
        <Grid>
            <StackPanel>
                <Slider x:Name="_slider"
                        Minimum="0.1"
                        Maximum="10.0" 
                        Height="20"/>
                <TextBox Text="{Binding ElementName=_slider, Path=Value}"></TextBox>
                    <Border x:Name="_border"
                        BorderBrush="Red"
                        BorderThickness="10"
                        Background="Green">
     
                </Border>
     
            </StackPanel>
        </Grid>
    Si quelqu'un a une idée pourquoi ça ne fonctionne pas, oui du comment il faut faire une changer dynamique la vitesse d'une animation je suis preneur. Sachant que l'optique est de le faire dans une approche MVVM, donc si je pouvais éviter le code-behind ce serait top.

    Par avance merçi

  2. #2
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 77
    Points : 78
    Points
    78
    Par défaut
    Je ne pense pas que tu puisses modifier le SpeedRatio une fois que l'anim est lancée ... Pour arriver au meme but, il vaudrait mieux utiliser les animations de type 'Spline'.

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Si tu es en WPF 4, tu peux même regarder du coté des Easing Animations

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 220
    Points
    220
    Par défaut
    Snif ! Je pleure !
    C'est pas sympa les mecs, moi ce que je voulais c'est une réponse du type "Mais non ça fonctionne très bien, simplement t'es un gros nul, t'as oublié une virgule", mais là vous me sortez des mots savants qui ne sont ni dans le "Petit Robert" ni dans le "Little Bob".
    Bon je vais regarder vos suggestions de plus près, et je mettrai résolu après.

    Merci, A+

Discussions similaires

  1. Binding sur la propriété Duration d'une animation
    Par distil dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 29/07/2011, 12h43
  2. Problème de Binding dans une animation
    Par Oberown dans le forum Windows Presentation Foundation
    Réponses: 11
    Dernier message: 05/05/2011, 14h39
  3. [Composants][Animation] Lire une vidéo compressée
    Par femtosa dans le forum Composants VCL
    Réponses: 6
    Dernier message: 03/09/2002, 08h03
  4. Rx Controls Gif animés
    Par toufou dans le forum Composants VCL
    Réponses: 6
    Dernier message: 23/08/2002, 14h09
  5. Passage de parametre a une anim Flash 5
    Par debug dans le forum Intégration
    Réponses: 4
    Dernier message: 03/06/2002, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo