일부 WPF 애니메이션을 사용하여 UserControl을 세로로 이동합니다.계수를 계산하여 표준 속도 애니메이션을 얻습니다.
여기에 코드
public void RestartAnimation(double contentControlHeight, double thisHeight)
{
if (cp != null && IsLoaded)
da.From = contentControlHeight;
da.To = -thisHeight;
da.RepeatBehavior = RepeatBehavior.Forever;
da.Duration = new Duration(TimeSpan.FromSeconds(this.Duration));
sb.Children.Clear();
sb.Children.Add(da);
Storyboard.SetTargetProperty(da, new PropertyPath("(Canvas.Top)"));
Storyboard.SetTarget(da, cp);
sb.Begin();
}
}
그것은 잘 작동하지만, 움직임이 빠른 다음 높이가 큰 경우 내가 발견 한 것입니다.
그래서 나는 2 가지 실현해야합니다 (매우 느린 - 빠른 슈퍼)
일부 속도 범위 값은 1-100 즉 내부적 나는 그것을 할 몇 가지 공식/계수이 필요합니다.
나는 정적 인 속도와 다른 높이를 가진 약간의 실험을했다 그리고 약간의 테이블을 얻었다.
나를 난 그냥 속도 범위 (1-100)을 설정해야 할 하는 계산을 파악하는 데 도움이 그것을 잘 상관없이StackPanel
높이 작동합니다 바랍니다.
감사합니다.
감사합니다. @GuthMD! 귀하의 수식이 잘 작동합니다! –