2009-06-09 7 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é.