private void AnimateFilter()
        {
            double from = filterShown ? 0 : gdFilter.RenderSize.Height;
            double to   = filterShown ? gdFilter.RenderSize.Height : 0;

            VisualHelpers.GenerateDoubleAnimation(from, to, show_duration, gdFilter, HeightProperty, new System.Windows.Media.Animation.QuadraticEase()).Begin();
        }
 public SaveStateDisplayer()
 {
     timer                      = new Timer(delay);
     timer.Elapsed             += Animate;
     timer.AutoReset            = false;
     fadeto                     = VisualHelpers.GenerateDoubleAnimation(1, 0, fade_duration, this, OpacityProperty, new QuadraticEase());
     fadeto.Completed          += FadeToDone;
     fadefrom                   = VisualHelpers.GenerateDoubleAnimation(0, 1, fade_duration, this, OpacityProperty, new QuadraticEase());
     fadefrom.Completed        += FadeFromDone;
     App.Data.SaveStateChanged += SaveStateChanged;
     SaveStateChanged();
 }