1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- using System.Windows.Threading;
- namespace MediaBrowser.Installer.Code
- {
- /// <summary>
- /// Interaction logic for DownloadAnimation.xaml
- /// </summary>
- public partial class DownloadAnimation : UserControl
- {
- private int _i;
- private readonly double _startPos;
- private readonly DispatcherTimer _timer;
- public DownloadAnimation()
- {
- _i = 0;
- InitializeComponent();
- // Store start position of sliding canvas
- _startPos = Canvas.GetLeft(SlidingCanvas);
- // Create animation timer
- _timer = new DispatcherTimer {Interval = TimeSpan.FromMilliseconds(100)};
- _timer.Tick += TimerTick;
- }
- public void StartAnimation()
- {
- _timer.Start();
- }
- public void StopAnimation()
- {
- _timer.Stop();
- }
- private void TimerTick(object sender, EventArgs e)
- {
- _i++;
- if (_i < 16)
- {
- // Move SlidingCanvas containing the three colored dots 14 units to the right
- Canvas.SetLeft(SlidingCanvas, Canvas.GetLeft(SlidingCanvas) + 14);
- }
- else
- {
- // Move SlidingCanvas back to its starting position and reset counter
- _i = 0;
- Canvas.SetLeft(SlidingCanvas, _startPos);
- }
- }
- }
- }
|