public class BaseModuleView : UserControl
{
private TranslateTransform CurTranslate;
private DoubleAnimation XAnim;
private DoubleAnimation OpacityAnim;
private double OriginX = 50;
public BaseModuleView()
{
DoInitAnin();
this.Loaded += BaseModuleView\_loaded;
this.Unloaded += BaseModuleView\_Unloaded;
}
private void BaseModuleView\_Unloaded(object sender, System.Windows.RoutedEventArgs e)
{
DoUnloadAnim();
}
private void BaseModuleView\_loaded(object sender, System.Windows.RoutedEventArgs e)
{
DoLoadAnim();
}
private void DoLoadAnim()
{
this.CurTranslate.BeginAnimation(TranslateTransform.XProperty, XAnim);
this.BeginAnimation(UIElement.OpacityProperty, OpacityAnim);
}
private void DoUnloadAnim()
{
this.CurTranslate.BeginAnimation(TranslateTransform.XProperty, null);
this.BeginAnimation(UIElement.OpacityProperty, null);
this.CurTranslate.X = this.OriginX;
this.Opacity = 0;
}
private void DoInitAnin()
{
CurTranslate = new TranslateTransform();
CurTranslate.X = OriginX;
RenderTransform = CurTranslate;
Opacity = 0;
XAnim = new DoubleAnimation(0, TimeSpan.FromSeconds(0.3));
XAnim.EasingFunction = new ExponentialEase() { EasingMode = EasingMode.EaseInOut };
OpacityAnim = new DoubleAnimation(1, TimeSpan.FromSeconds(0.2));
}
}
XAML代码:
</Grid>
手机扫一扫
移动阅读更方便
你可能感兴趣的文章