public class Indicator : UserControl
{
public Indicator()
{
this.InitializeComponent();
}
private void InitializeComponent() {
Grid g = new Grid();
this.Content = g;
List<Path> pathlist = new List<Path>();
for (int i = 0; i < 12; i++)
{
Path p = new Path();
p.Data = Geometry.Parse("M 0,0 L -10,0 L -10,-60 L 0,-70 L 10,-60 L 10,0 Z");
p.Stroke = new SolidColorBrush(Colors.DarkGreen);
p.Fill = new SolidColorBrush(Colors.LawnGreen);
p.Opacity = 0.2;
TransformGroup tg= new TransformGroup();
p.RenderTransform=tg;
TranslateTransform tt = new TranslateTransform();
tt.Y = -50;
RotateTransform rt = new RotateTransform();
rt.Angle = i * 30;
tg.Children.Add(tt);
tg.Children.Add(rt);
DoubleAnimation da = new DoubleAnimation();
da.From = 1.0;
da.To = 0.2;
da.Duration = new Duration(TimeSpan.FromSeconds(1));
da.BeginTime = TimeSpan.FromMilliseconds(i * 1000 / 12);
da.RepeatBehavior = RepeatBehavior.Forever;
g.Children.Add(p);
p.BeginAnimation(Path.OpacityProperty, da);
}
}
}