From f08871fe7d148d667f2f11f80f64de71a0d9504c Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 15 六月 2026 18:19:37 +0800
Subject: [PATCH] 优化标准老化界面

---
 HMI.SettingControl/SettingControl.xaml.cs |   93 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 82 insertions(+), 11 deletions(-)

diff --git a/HMI.SettingControl/SettingControl.xaml.cs b/HMI.SettingControl/SettingControl.xaml.cs
index 9ee7841..322c614 100644
--- a/HMI.SettingControl/SettingControl.xaml.cs
+++ b/HMI.SettingControl/SettingControl.xaml.cs
@@ -1,11 +1,11 @@
-锘縰sing System.Collections.ObjectModel;
-using System.ComponentModel;
-using System.Runtime.CompilerServices;
+锘縰sing HMI.Base;
+using HMI.Core.Api;
+using HMI.Core.Util;
+using HMI.UI.Util;
+using System;
+using System.Collections.ObjectModel;
 using System.Windows;
 using System.Windows.Controls;
-using HMI.Base;
-using HMI.Core.Api;
-using log4net;
 
 namespace HMI.SettingControl
 {
@@ -32,12 +32,14 @@
 
         private void UserControl_Loaded(object sender, RoutedEventArgs e)
         {
+            var item = new TabItem
+            {
+                Content = new SystemConfig()
+            };
+            item.SetValue(TabItem.HeaderProperty, new DynamicResourceExtension("Setting.SystemSetting").ProvideValue(null));
+
             TabItems = new ObservableCollection<TabItem>() {
-                new TabItem
-                {
-                    Header = "绯荤粺璁剧疆",
-                    Content = new SystemConfig()
-                }
+               item
             };
             foreach (var d in PluginLoader.Instance.Plugins)
             {
@@ -49,7 +51,76 @@
                     Content = d.SettingControl
                 });
             }
+            tabControl.SelectedIndex = 0;
             Loaded -= UserControl_Loaded;
         }
+
+        private void Button_Click(object sender, RoutedEventArgs e)
+        {
+            Button btn = sender as Button;
+            switch (btn.Name)
+            {
+                case "resetBtn":
+                    ResetCurrentConfig();
+                    break;
+                case "saveBtn":
+                    SaveAllConfig();
+                    break;
+                default:
+                    break;
+            }
+        }
+
+        private void SaveAllConfig()
+        {
+            foreach (var d in tabControl.ItemsSource)
+            {
+                if (!(d is TabItem tabItem)) continue;
+                if (tabItem.Content is IConfigManager manager)
+                {
+                    try
+                    {
+                        manager.SaveConfig();
+                        this.Success(this.lang("App.SaveSuccess"));
+                    }
+                    catch (Exception ex)
+                    {
+                        MsgBoxHelper.Error(this, $"{tabItem.Header}{this.lang("App.SaveFailed")}: {ex.Message}");
+                    }
+                }
+            }
+        }
+
+        private void SaveCurrentConfig()
+        {
+            var content = tabControl.SelectedItem as TabItem;
+            if (content is IConfigManager manager)
+            {
+                try
+                {
+                    manager.SaveConfig();
+                }
+                catch (Exception ex)
+                {
+                    MsgBoxHelper.Error(this, $"{this.lang("App.SaveFailed")}: {ex.Message}");
+                }
+            }
+        }
+
+        private void ResetCurrentConfig()
+        {
+            var tabItem = tabControl.SelectedItem as TabItem;
+            if (tabItem.Content is IConfigManager manager)
+            {
+                try
+                {
+                    manager.ResetConfig();
+                }
+                catch (Exception ex)
+                {
+                    MsgBoxHelper.Error(this, $"{this.lang("App.SaveFailed")}: {ex.Message}");
+                }
+            }
+        }
     }
 }

--
Gitblit v1.9.1