From 26f45822a2a84af81e20ca543da98d3b822c5afd Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期一, 17 二月 2025 21:25:59 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-generate/GenerateXhsProjectWizardPage.cs |   82 +++++++++++++++++++++++-----------------
 1 files changed, 47 insertions(+), 35 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-generate/GenerateXhsProjectWizardPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-generate/GenerateXhsProjectWizardPage.cs
index 28ee611..4ba42d3 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-generate/GenerateXhsProjectWizardPage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-generate/GenerateXhsProjectWizardPage.cs
@@ -1,6 +1,6 @@
 锘縩amespace HStation.WinFrmUI
 {
-    public partial class GenerateXhsProjectWizardPage : DevExpress.XtraEditors.XtraUserControl, IWizardPage<ImportXhsProjectViewModel>
+    public partial class GenerateXhsProjectWizardPage : DevExpress.XtraEditors.XtraUserControl, IWizardPageAsync<ImportXhsProjectViewModel>
     {
         public GenerateXhsProjectWizardPage()
         {
@@ -13,37 +13,53 @@
         /// </summary>
         public event Action PageStateChangedEvent;
 
-        private bool _isInitialize = false;//鏄惁鍒濆鍖�
-        private bool _importResult = false;//瀵煎叆缁撴灉
         private ImportXhsProjectViewModel _vm = null;//鎿嶄綔瀵硅薄
+        private bool _importResult = false;//瀵煎叆缁撴灉
 
-        private class ListItemWithColor
+
+        //缁樺埗瑙嗗浘
+        private class DrawItemViewModel
         {
+            /// <summary>
+            /// 鏂囨湰
+            /// </summary>
             public string Text { get; set; }
+
+            /// <summary>
+            /// 棰滆壊
+            /// </summary>
             public Color Color { get; set; }
 
+            /// <summary>
+            /// 
+            /// </summary>
+            /// <returns></returns>
             public override string ToString()
             {
-                return null;
+                return string.Empty;
             }
         }
 
         /// <summary>
-        ///
+        /// 鍒濆鍖栭〉闈�
         /// </summary>
         public async void InitialPage(ImportXhsProjectViewModel vm)
         {
+            if (vm == null)
+            {
+                return;
+            }
             _vm = vm;
-            _isInitialize = false;
             _importResult = false;
+            this.listBoxControl1.Items.Clear();
             _importResult = await ImportXhsProjectHelper.Import(vm, (msg, color) =>
              {
-                 ListItemWithColor itemWithColor = new ListItemWithColor
+                 var drawItem = new DrawItemViewModel
                  {
                      Text = msg,
                      Color = color
                  };
-                 this.listBoxControl1.Items.Add(itemWithColor);
+                 this.listBoxControl1.Items.Add(drawItem);
              }, (max, current) =>
              {
                  this.progressBarControl1.Properties.Maximum = max;
@@ -57,7 +73,6 @@
                 this.progressBarControl1.Position = 0;
                 this.itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
             }
-            _isInitialize = true;
             this.PageStateChangedEvent?.Invoke();
         }
 
@@ -68,12 +83,9 @@
         {
             get
             {
-                if (_isInitialize)
+                if (!_importResult)
                 {
-                    if (!_importResult)
-                    {
-                        return true;
-                    }
+                    return true;
                 }
                 return false;
             }
@@ -86,12 +98,9 @@
         {
             get
             {
-                if (_isInitialize)
+                if (_importResult)
                 {
-                    if (_importResult)
-                    {
-                        return true;
-                    }
+                    return true;
                 }
                 return false;
             }
@@ -104,12 +113,9 @@
         {
             get
             {
-                if (_isInitialize)
+                if (!_importResult)
                 {
-                    if (!_importResult)
-                    {
-                        return true;
-                    }
+                    return true;
                 }
                 return false;
             }
@@ -120,42 +126,46 @@
         /// </summary>
         public bool AllowComplete
         {
-            get { return false; }
+            get
+            {
+                return false;
+            }
         }
 
         /// <summary>
         /// 鑳藉惁涓婁竴姝�
         /// </summary>
         /// <returns></returns>
-        public bool CanPrev()
+        public Task<bool> CanPrev()
         {
-            return this.AllowPrev;
+            return Task.Run(() => this.AllowPrev);
         }
 
         /// <summary>
         /// 鑳藉惁涓嬩竴姝�
         /// </summary>
-        public bool CanNext()
+        public Task<bool> CanNext()
         {
-            return this.AllowNext;
+            return Task.Run(() => this.AllowNext);
         }
 
         /// <summary>
         /// 鑳藉惁鍙栨秷
         /// </summary>
-        public bool CanCancel()
+        public Task<bool> CanCancel()
         {
-            return this.AllowCancel;
+            return Task.Run(() => this.AllowCancel);
         }
 
         /// <summary>
         /// 鑳藉惁瀹屾垚
         /// </summary>
-        public bool CanComplete()
+        public Task<bool> CanComplete()
         {
-            return false;
+            return Task.Run(() => this.AllowComplete);
         }
 
+        //缁樺埗椤�
         private void listBoxControl1_DrawItem(object sender, DevExpress.XtraEditors.ListBoxDrawItemEventArgs e)
         {
             // 鑾峰彇褰撳墠椤圭洰鐨勭储寮�
@@ -165,7 +175,7 @@
             if (index >= 0)
             {
                 // 鑾峰彇褰撳墠椤圭洰
-                ListItemWithColor item = (ListItemWithColor)listBoxControl1.Items[index];
+                DrawItemViewModel item = (DrawItemViewModel)listBoxControl1.Items[index];
 
                 // 璁剧疆瀛椾綋鍜岄鑹�
                 Font font = new Font("Arial", 15);
@@ -174,5 +184,7 @@
                 e.Graphics.DrawString(item.Text, font, brush, e.Bounds);
             }
         }
+
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3