Applying animated ScaleTransform in code problem

后端 未结 2 839
一生所求
一生所求 2021-01-05 06:41

I am trying to find out why the code below does not seem to work. It does not give an error - it simply doesn\'t scale. It actually does seem to work if I change it as to my

2条回答
  •  走了就别回头了
    2021-01-05 07:02

    I was able to get it to work by tweaking your first code sample like so:

    public static void StartMouseEnterAnimation(Button button) {
        Storyboard storyboard = new Storyboard();
    
        ScaleTransform scale = new ScaleTransform(1.0, 1.0);
        button.RenderTransformOrigin = new Point(0.5, 0.5);
        button.RenderTransform = scale;
    
        DoubleAnimation growAnimation = new DoubleAnimation();
        growAnimation.Duration = TimeSpan.FromMilliseconds(300);
        growAnimation.From = 1;
        growAnimation.To = 1.8;
        storyboard.Children.Add(growAnimation);
    
        Storyboard.SetTargetProperty(growAnimation, new PropertyPath("RenderTransform.ScaleX"));
        Storyboard.SetTarget(growAnimation, button);
    
        storyboard.Begin();
    }
    

    Instead of new PropertyPath(ScaleTransform.ScaleXProperty)), I used new PropertyPath("RenderTransform.ScaleX")), and I set the target of the storyboard to the button (not the scaleTransform itself).

    Hope that helps!

提交回复
热议问题