2009-06-09 4 views
2

Après l'exécution de ce code ...Pourquoi ne puis-je pas modifier un objet après l'avoir animé?

DoubleAnimation a = new DoubleAnimation(newWidth, new Duration(...)); 
ThicknessAnimation b = new ThicknessAnimation(new Thickness(...), new Duration(...)); 
border.BeginAnimation(Border.MarginProperty, b); 
border.BeginAnimation(Border.WidthProperty, a); 

... ce code ne fonctionne plus (marge ne change pas après l'attribution d'une nouvelle valeur):

// doesn't have any effect 
border.Margin = new Thickness(...); 

Qu'est-ce qui se passe ?? Merci!

Répondre

3

De Dependency Properties Overview:

Les propriétés de dépendance peuvent être animés. Lorsqu'une animation est appliquée et est en cours d'exécution, la valeur animée opère à une priorité supérieure à toute valeur (telle qu'une valeur locale) que la propriété possède autrement.

Vous devez définir le paramètre FillBehavior de l'animation sur Stop pour que la valeur locale prenne la priorité.

Questions connexes