<Grid
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="Microsoft.Data.Entity.Design.Core.Controls.LoadingUI"
    Cursor="Wait">
    <Grid.Resources>
        <SolidColorBrush Color="#FF17AE39" x:Key="SpinnerColor" />
    </Grid.Resources>

    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
        <StackPanel.LayoutTransform>
            <ScaleTransform ScaleX="1.3" ScaleY="1.3" />
        </StackPanel.LayoutTransform>

        <Canvas Width="16" Height="16" Margin="4" VerticalAlignment="Top">
            <Ellipse Fill="{StaticResource SpinnerColor}" StrokeThickness="0" Width="3"
                     Height="3" Canvas.Left="6.5" RenderTransformOrigin="0.5,2.667">
                <Ellipse.RenderTransform>
                    <TransformGroup>
                        <RotateTransform Angle="0" />
                    </TransformGroup>
                </Ellipse.RenderTransform>
                <Ellipse.Triggers>
                    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                                 From="1" To="0" BeginTime="-00:00:02" Duration="00:00:02"
                                                 RepeatBehavior="Forever">
                                </DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Ellipse.Triggers>
            </Ellipse>

            <Ellipse Fill="{StaticResource SpinnerColor}" StrokeThickness="0" Width="3"
                     Height="3" Canvas.Left="6.5" RenderTransformOrigin="0.5,2.667">
                <Ellipse.RenderTransform>
                    <TransformGroup>
                        <RotateTransform Angle="45" />
                    </TransformGroup>
                </Ellipse.RenderTransform>
                <Ellipse.Triggers>
                    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                                 From="1" To="0" BeginTime="-00:00:01.75" Duration="00:00:02"
                                                 RepeatBehavior="Forever">
                                </DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Ellipse.Triggers>
            </Ellipse>

            <Ellipse Fill="{StaticResource SpinnerColor}" StrokeThickness="0" Width="3"
                     Height="3" Canvas.Left="6.5" RenderTransformOrigin="0.5,2.667">
                <Ellipse.RenderTransform>
                    <TransformGroup>
                        <RotateTransform Angle="90" />
                    </TransformGroup>
                </Ellipse.RenderTransform>
                <Ellipse.Triggers>
                    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                                 From="1" To="0" BeginTime="-00:00:01.5" Duration="00:00:02"
                                                 RepeatBehavior="Forever">
                                </DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Ellipse.Triggers>
            </Ellipse>

            <Ellipse Fill="{StaticResource SpinnerColor}" StrokeThickness="0" Width="3"
                     Height="3" Canvas.Left="6.5" RenderTransformOrigin="0.5,2.667">
                <Ellipse.RenderTransform>
                    <TransformGroup>
                        <RotateTransform Angle="135" />
                    </TransformGroup>
                </Ellipse.RenderTransform>
                <Ellipse.Triggers>
                    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                                 From="1" To="0" BeginTime="-00:00:01.25" Duration="00:00:02"
                                                 RepeatBehavior="Forever">
                                </DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Ellipse.Triggers>
            </Ellipse>

            <Ellipse Fill="{StaticResource SpinnerColor}" StrokeThickness="0" Width="3"
                     Height="3" Canvas.Left="6.5" RenderTransformOrigin="0.5,2.667">
                <Ellipse.RenderTransform>
                    <TransformGroup>
                        <RotateTransform Angle="180" />
                    </TransformGroup>
                </Ellipse.RenderTransform>
                <Ellipse.Triggers>
                    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                                 From="1" To="0" BeginTime="-00:00:01" Duration="00:00:02"
                                                 RepeatBehavior="Forever">
                                </DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Ellipse.Triggers>
            </Ellipse>

            <Ellipse Fill="{StaticResource SpinnerColor}" StrokeThickness="0" Width="3"
                     Height="3" Canvas.Left="6.5" RenderTransformOrigin="0.5,2.667">
                <Ellipse.RenderTransform>
                    <TransformGroup>
                        <RotateTransform Angle="225" />
                    </TransformGroup>
                </Ellipse.RenderTransform>
                <Ellipse.Triggers>
                    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                                 From="1" To="0" BeginTime="-00:00:00.75" Duration="00:00:02"
                                                 RepeatBehavior="Forever">
                                </DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Ellipse.Triggers>
            </Ellipse>

            <Ellipse Fill="{StaticResource SpinnerColor}" StrokeThickness="0" Width="3"
                     Height="3" Canvas.Left="6.5" RenderTransformOrigin="0.5,2.667">
                <Ellipse.RenderTransform>
                    <TransformGroup>
                        <RotateTransform Angle="270" />
                    </TransformGroup>
                </Ellipse.RenderTransform>
                <Ellipse.Triggers>
                    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                                 From="1" To="0" BeginTime="-00:00:00.5" Duration="00:00:02"
                                                 RepeatBehavior="Forever">
                                </DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Ellipse.Triggers>
            </Ellipse>

            <Ellipse Fill="{StaticResource SpinnerColor}" StrokeThickness="0" Width="3"
                     Height="3" Canvas.Left="6.578" RenderTransformOrigin="0.5,2.667">
                <Ellipse.RenderTransform>
                    <TransformGroup>
                        <RotateTransform Angle="315" />
                    </TransformGroup>
                </Ellipse.RenderTransform>
                <Ellipse.Triggers>
                    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                                 From="1" To="0" BeginTime="-00:00:00.25" Duration="00:00:02"
                                                 RepeatBehavior="Forever">
                                </DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Ellipse.Triggers>
            </Ellipse>

        </Canvas>

    </StackPanel>

</Grid>