SplashWindow.xaml.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. using System.ComponentModel;
  3. using System.Windows;
  4. namespace MediaBrowser.ServerApplication.Splash
  5. {
  6. /// <summary>
  7. /// Interaction logic for SplashWindow.xaml
  8. /// </summary>
  9. public partial class SplashWindow : Window
  10. {
  11. private readonly Progress<double> _progress;
  12. public SplashWindow(Version version, Progress<double> progress)
  13. {
  14. InitializeComponent();
  15. lblStatus.Text = string.Format("Loading Media Browser Server\nVersion {0}...", version);
  16. _progress = progress;
  17. progress.ProgressChanged += progress_ProgressChanged;
  18. }
  19. void progress_ProgressChanged(object sender, double e)
  20. {
  21. Dispatcher.InvokeAsync(() =>
  22. {
  23. var width = e * 6.62;
  24. RectProgress.Width = width;
  25. });
  26. }
  27. protected override void OnClosing(CancelEventArgs e)
  28. {
  29. _progress.ProgressChanged += progress_ProgressChanged;
  30. base.OnClosing(e);
  31. }
  32. }
  33. }