From 1afe548ac40cc7f975917ef9bf2e156595cf81f3 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期四, 16 四月 2026 08:58:04 +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