2017-08-25 5 views
0

J'ai essayé d'effectuer une animation de storyboard mais je n'ai pas pu modifier la propriété VerticalOffset de ScrollViewer. Ce code fonctionne très bien avec Opacité ect. propriétés mais pas avec VerticalOffset et HorizontalOffset.Comment définir la propriété ScrollViewer VerticalOffset pour l'animation de Storyboard (application Windows Universal)?

private void MakeVerticalAnimation() 
{ 
    Storyboard AnimationStoryboard = new Storyboard(); 
    DoubleAnimation VerticalOffsetAnimation = new DoubleAnimation(); 
    Storyboard.SetTarget(VerticalOffsetAnimation, MyScrollViewer); 
    Storyboard.SetTargetProperty(VerticalOffsetAnimation, "VerticalOffset"); 
    VerticalOffsetAnimation.EnableDependentAnimation = true; 
    VerticalOffsetAnimation.From = 100; 
    VerticalOffsetAnimation.To = 0; 
    VerticalOffsetAnimation.Duration = TimeSpan.FromSeconds(3); 
    AnimationStoryboard.Children.Add(VerticalOffsetAnimation); 
    AnimationStoryboard.Begin(); 
} 

Répondre

0

Votre animation ne fonctionnera pas parce que VerticalOffset est en lecture seule. Vous pouvez utiliser la méthode ChangeView à la place.

MyScrollViewer.ChangeView(null, 0, null, false); 

Jetez un oeil à mon autre réponse here.

+0

Oh ... Je suis idiot. Tout moyen d'éditer le modèle ScrollViewer pour ajuster la vitesse de défilement. En ce moment, la vitesse est trop rapide pour mon but. On dirait que j'ai besoin de trouver une autre solution pour mon problème. – Weissu