Loading.cs 551 B

1234567891011121314151617181920212223242526
  1. using System;
  2. using System.Threading.Tasks;
  3. namespace TestViewer
  4. {
  5. internal class Loading
  6. {
  7. public static event EventHandler<bool>? LoadingChanged;
  8. public static void Run(Action action)
  9. {
  10. LoadingChanged?.Invoke(null, true);
  11. Task.Run(()=>
  12. {
  13. try
  14. {
  15. action();
  16. }
  17. finally
  18. {
  19. LoadingChanged?.Invoke(null, false);
  20. }
  21. });
  22. }
  23. }
  24. }