From b544d5cccd76735e034c8055918a50927b437474 Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期二, 10 十一月 2026 08:29:04 +0800
Subject: [PATCH] fix: 维护模式重复进入失败与按钮灰死 + Broker 并发验证用例

---
 Plugin.DOControl/DataModal.xaml.cs |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Plugin.DOControl/DataModal.xaml.cs b/Plugin.DOControl/DataModal.xaml.cs
index 573d967..b52b38f 100644
--- a/Plugin.DOControl/DataModal.xaml.cs
+++ b/Plugin.DOControl/DataModal.xaml.cs
@@ -108,7 +108,7 @@
                 Data.ReadOnly = CxReadOnly.IsChecked == true;
                 Data.PressDownValue = TbPressDownValue.Text;
                 Data.PressUpValue = TbPressUpValue.Text;
-                Data.ControlType = (ControlType)int.Parse(CbControlType.SelectedValue.ToString());
+                Data.ControlType = (ControlType)CbControlType.SelectedItem;
             }
             return flag;
         }
@@ -124,13 +124,17 @@
             CxReadOnly.IsChecked = Data.ReadOnly;
             TbPressDownValue.Text = Data.PressDownValue;
             TbPressUpValue.Text = Data.PressUpValue;
-            CbControlType.SelectedValue = (int)Data.ControlType;
+            CbControlType.SelectedItem = Data.ControlType;
             return this.ShowDialog();
         }
 
         private void SaveOrUpdateData()
         {
-            int index = Datasource.IndexOf(Data);
+            int index = -1;
+            if (Datasource != null)
+            {
+                index = Datasource.IndexOf(Data);
+            }
             if (index < 0)
             {
                 InsertData(Data);

--
Gitblit v1.9.1