浏览代码

Fixed animation scenario bug2

Tig 9 月之前
父节点
当前提交
fc5c3cbb07
共有 1 个文件被更改,包括 10 次插入4 次删除
  1. 10 4
      UICatalog/Scenarios/AnimationScenario/AnimationScenario.cs

+ 10 - 4
UICatalog/Scenarios/AnimationScenario/AnimationScenario.cs

@@ -16,10 +16,12 @@ namespace UICatalog.Scenarios;
 [ScenarioCategory ("Drawing")]
 [ScenarioCategory ("Drawing")]
 public class AnimationScenario : Scenario
 public class AnimationScenario : Scenario
 {
 {
-    private bool _closed;
+    private bool _appInitialized;
 
 
     public override void Main ()
     public override void Main ()
     {
     {
+        Application.InitializedChanged += OnAppInitializedChanged;
+
         Application.Init ();
         Application.Init ();
 
 
         var win = new Window
         var win = new Window
@@ -75,7 +77,7 @@ public class AnimationScenario : Scenario
                                Task.Run (
                                Task.Run (
                                          () =>
                                          () =>
                                          {
                                          {
-                                             while (!_closed)
+                                             while (_appInitialized)
                                              {
                                              {
                                                  // When updating from a Thread/Task always use Invoke
                                                  // When updating from a Thread/Task always use Invoke
                                                  Application.Invoke (
                                                  Application.Invoke (
@@ -92,12 +94,16 @@ public class AnimationScenario : Scenario
                                         );
                                         );
                            };
                            };
 
 
-        Application.NotifyStopRunState += (sender, args) => _closed = true;
 
 
-        _closed = false;
         Application.Run (win);
         Application.Run (win);
         win.Dispose ();
         win.Dispose ();
         Application.Shutdown ();
         Application.Shutdown ();
+        Debug.Assert (!_appInitialized);
+
+        return;
+
+        void OnAppInitializedChanged (object sender, EventArgs<bool> args) => _appInitialized = args.CurrentValue;
+        Application.InitializedChanged += OnAppInitializedChanged;
     }
     }
 
 
     // This is a C# port of https://github.com/andraaspar/bitmap-to-braille by Andraaspar
     // This is a C# port of https://github.com/andraaspar/bitmap-to-braille by Andraaspar