From 53e656200368a983e563550e2cc1acbc6d86b729 Mon Sep 17 00:00:00 2001
From: chr <chrry550@outlook.com>
Date: 星期三, 08 四月 2026 19:57:14 +0800
Subject: [PATCH] 完善代码

---
 Editor/Provider/GridControlProvider.cs |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/Editor/Provider/GridControlProvider.cs b/Editor/Provider/GridControlProvider.cs
index 417cb6f..aa2dd6a 100644
--- a/Editor/Provider/GridControlProvider.cs
+++ b/Editor/Provider/GridControlProvider.cs
@@ -190,18 +190,31 @@
                 return tree;
             }
 
-            TextBox tb = new TextBox
+            if (property.GetCustomAttribute<IgnoreVariable>() is IgnoreVariable iv)
             {
-                IsReadOnly = !(property.CanWrite && property.SetMethod?.IsPublic == true)
-            };
-            BindingOperations.SetBinding(tb, TextBox.TextProperty,
+                TextBox tb = new TextBox
+                {
+                    IsReadOnly = !(property.CanWrite && property.SetMethod?.IsPublic == true)
+                };
+                BindingOperations.SetBinding(tb, TextBox.TextProperty,
+                    new Binding(property.Name)
+                    {
+                        Source = source,
+                        Mode = tb.IsReadOnly ? BindingMode.OneWay : BindingMode.TwoWay,
+                        UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
+                    });
+                return tb;
+            }
+
+            VariableTextBox vtb = new VariableTextBox() { Step = (ITestStep)source };
+            BindingOperations.SetBinding(vtb, VariableTextBox.ValueProperty,
                 new Binding(property.Name)
                 {
                     Source = source,
-                    Mode = tb.IsReadOnly ? BindingMode.OneWay : BindingMode.TwoWay,
                     UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
                 });
-            return tb;
+
+            return vtb;
         }
 
         public static bool FilterMember(IMemberData member)

--
Gitblit v1.9.1