From c4a3f8db90530a727ffab77c3bb5bb7d782792bf Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 25 八月 2025 15:50:27 +0800
Subject: [PATCH] 上传代码;

---
 HMI.UI/DpUtil/FormGroupHelper.cs |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/HMI.UI/DpUtil/FormGroupHelper.cs b/HMI.UI/DpUtil/FormGroupHelper.cs
index 01f6223..bdfd5bd 100644
--- a/HMI.UI/DpUtil/FormGroupHelper.cs
+++ b/HMI.UI/DpUtil/FormGroupHelper.cs
@@ -57,6 +57,11 @@
             {
                 if (child is FormGroup fg)
                 {
+                    if (fg.Visibility != Visibility.Visible)
+                    {
+                        ClearValue(fg);
+                        continue;
+                    }
                     fg.ValidateResult = ValidateResult.None;
                     fg.Message = null;
                     object content = fg.Content;
@@ -96,5 +101,24 @@
             if (content is PasswordBox passwordInput) return passwordInput.Password;
             return null;
         }
+
+        private static void ClearValue(object content)
+        {
+            if (content == null) return;
+            if (content is UIElementCollection elementCollection && elementCollection.Count > 0)
+                ClearValue(elementCollection[0]);
+            if (content is TextBox tb) tb.Text = null;
+            if (content is CheckBox cb) cb.IsChecked = null;
+            if (content is ComboBox cBox)
+            {
+                cBox.SelectedItem = null;
+                cBox.SelectedValue = null;
+                cBox.Text = null;
+            }
+
+            if (content is Panel panel) ClearValue(panel.Children);
+            if (content is Panuon.WPF.UI.NumberInput numberInput) numberInput.Value = null;
+            if (content is PasswordBox passwordInput) passwordInput.Password = null;
+        }
     }
 }

--
Gitblit v1.9.1