Just a custom UserControl that displays a message and an animation, best used as a loading overlay screen.
All the custom properties support binding.
Rectangles order indexing is done by rosettacode.org's Spiral Algorithm.
<res:LoadingControl VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
Color1="Blue"
Color2="Orange"
SquareAnimationDuration="0:0:1"
Message="Please wait">
<res:LoadingControl.ColorEasing>
<SineEase EasingMode="EaseInOut" />
</res:LoadingControl.ColorEasing>
<res:LoadingControl.SizeEasing>
<QuadraticEase EasingMode="EaseIn" />
</res:LoadingControl.SizeEasing>
</res:LoadingControl>
- Add a bindable property to manage the maximum size (hard-coded 300 right now)
- Replace the SideLength property by Rows and Columns, allowing asymmetry (imply redoing the Spiral algorithm)
- More animations? (ex: Outer layer to inner layer)