/// <summary> /// Animates a control and allows control of the duration and opacity /// </summary> /// <param name="control">The control to be animated</param> /// <param name="opacity">The opacity value for the animation</param> /// <param name="duration">The duration for the animation</param> private void animateControlOpacity(Control control, double opacity, double duration) { control.BeginInit(); control.Dispatcher.BeginInvoke((Action)(() => { DoubleAnimation controlAnimation = new DoubleAnimation(opacity, new Duration(TimeSpan.FromSeconds(duration))); control.BeginAnimation(Label.OpacityProperty, controlAnimation); }), null); control.EndInit(); }