示例#1
0
        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();
        }