WPF动画之移动淡出淡入

发布时间 2023-11-16 10:12:43作者: 逍遥岚轩

public void ShowAnimation()
{
//动画时间
var duration = new Duration(TimeSpan.FromSeconds(0.3));

 

//移入

var doubleAnimation = new DoubleAnimation
{
Duration = duration,
To = 0
};

var transform = new TranslateTransform();
RenderTransform = transform;
transform.Y = 100;
transform.BeginAnimation(TranslateTransform.YProperty, doubleAnimation);

duration = new Duration(TimeSpan.FromSeconds(0.5));

淡入
var da = new DoubleAnimation
{
From = 0,
To = 1,
Duration = duration
};
//开始动画
Element.BeginAnimation(OpacityProperty, da);
}

 

public void HideAnimation()
{
//动画时间
var duration = new Duration(TimeSpan.FromSeconds(0.5));

//移出

var doubleAnimation = new DoubleAnimation
{
Duration = duration,
To = 100
};

var transform = new TranslateTransform();
RenderTransform = transform;
transform.Y = 0;
transform.BeginAnimation(TranslateTransform.YProperty, doubleAnimation);

//淡出

duration = new Duration(TimeSpan.FromSeconds(0.3));
var da = new DoubleAnimation
{
From = 1,
To = 0,
Duration = duration
};

//开始动画
FuncMenu.BeginAnimation(OpacityProperty, da);
}