/// <summary> /// /// </summary> public void StartAnimation() { try { var left00 = Ellipse00.FindResource("StoryboardLeft00") as Storyboard; Ellipse00.Opacity = 1; if (left00 != null) { left00.Begin(); } } catch (Exception ex) { throw new Exception(ex.Message); } }
void MetroWaiter_Initialized(object sender, EventArgs e) { try { DataContext = this; ViewColor = new SolidColorBrush(Colors.WhiteSmoke); ViewWidthHeight = 8.0; Ellipse00.Opacity = 0; Ellipse01.Opacity = 0; Ellipse02.Opacity = 0; Ellipse03.Opacity = 0; Ellipse04.Opacity = 0; var left00 = Ellipse00.FindResource("StoryboardLeft00") as Storyboard; var slow00 = Ellipse00.FindResource("StoryboardSlow00") as Storyboard; var right00 = Ellipse00.FindResource("StoryboardRight00") as Storyboard; var left01 = Ellipse01.FindResource("StoryboardLeft01") as Storyboard; var slow01 = Ellipse01.FindResource("StoryboardSlow01") as Storyboard; var right01 = Ellipse01.FindResource("StoryboardRight01") as Storyboard; var left02 = Ellipse02.FindResource("StoryboardLeft02") as Storyboard; var slow02 = Ellipse02.FindResource("StoryboardSlow02") as Storyboard; var right02 = Ellipse02.FindResource("StoryboardRight02") as Storyboard; var left03 = Ellipse03.FindResource("StoryboardLeft03") as Storyboard; var slow03 = Ellipse03.FindResource("StoryboardSlow03") as Storyboard; var right03 = Ellipse03.FindResource("StoryboardRight03") as Storyboard; var left04 = Ellipse04.FindResource("StoryboardLeft04") as Storyboard; var slow04 = Ellipse04.FindResource("StoryboardSlow04") as Storyboard; var right04 = Ellipse04.FindResource("StoryboardRight04") as Storyboard; //第一个点第一个动画结束后开启缓动,第二个点启动 left00.Completed += (a, b) => { slow00.Begin(); Ellipse01.Opacity = 1; left01.Begin(); }; //第一个点缓动结束,右边动画启动 slow00.Completed += (a, b) => right00.Begin(); right00.Completed += (a, b) => Ellipse00.Opacity = 0; //以下类推 left01.Completed += (a, b) => { slow01.Begin(); Ellipse02.Opacity = 1; left02.Begin(); }; slow01.Completed += (a, b) => right01.Begin(); right01.Completed += (a, b) => Ellipse01.Opacity = 0; left02.Completed += (a, b) => { slow02.Begin(); Ellipse03.Opacity = 1; left03.Begin(); }; slow02.Completed += (a, b) => right02.Begin(); right02.Completed += (a, b) => Ellipse02.Opacity = 0; left03.Completed += (a, b) => { slow03.Begin(); Ellipse04.Opacity = 1; left04.Begin(); }; slow03.Completed += (a, b) => right03.Begin(); right03.Completed += (a, b) => Ellipse03.Opacity = 0; left04.Completed += (a, b) => slow04.Begin(); slow04.Completed += (a, b) => right04.Begin(); //最后一个点动画结束,第一个点重启 如此循环 right04.Completed += (a, b) => { Ellipse04.Opacity = 0; Ellipse00.Opacity = 1; left00.Begin(); }; } catch (Exception ex) { throw new Exception(ex.Message); } }