static BuzyWait() { var drawingVisual = new DrawingVisual(); using (var drawingContext = drawingVisual.RenderOpen()) { for (var i = 0; i < Spokes; ++i) { var t = ((double)i) / Spokes; drawingContext.PushOpacity(1 - t); drawingContext.PushTransform(new RotateTransform(360.0 * t)); drawingContext.DrawRoundedRectangle( Brushes.White, null, new Rect(MinRadius, -WidthRadius / 2, RadiusRadius - MinRadius, WidthRadius), WidthRadius, WidthRadius ); drawingContext.Pop(); drawingContext.Pop(); } } s_drawing = drawingVisual.Drawing.FreezeObject(); s_animationClock = new DoubleAnimation( 0, 1, new Duration(TimeSpan.FromSeconds(2)) ) { RepeatBehavior = RepeatBehavior.Forever }; s_animationClock.FreezeObject(); }