From a3ba25607612818c28d421bfa8eb2f92339d71ac Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期四, 13 三月 2025 20:30:48 +0800
Subject: [PATCH] 优化项目;
---
HMI.SettingControl/SettingControl.xaml.cs | 130 +++++++++++++++++++++++++------------------
1 files changed, 75 insertions(+), 55 deletions(-)
diff --git a/HMI.SettingControl/SettingControl.xaml.cs b/HMI.SettingControl/SettingControl.xaml.cs
index 6390b40..9535129 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
{
@@ -14,62 +14,13 @@
/// </summary>
public partial class SettingControl : PluginControl
{
- #region ...
- public virtual event PropertyChangedEventHandler PropertyChanged;
-
- protected virtual void Set(string name)
- {
-
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
- }
-
- protected void Set<T>(ref T old, T @new, [CallerMemberName] string propertyName = null)
- {
- old = @new;
- if (propertyName != null)
- {
- Set(propertyName);
- }
- }
- #endregion
-
#region 灞炴��
- private ILog log;
private ObservableCollection<TabItem> tabItems;
public ObservableCollection<TabItem> TabItems
{
get { return tabItems; }
set { Set(ref tabItems, value); }
- }
-
- #endregion
-
- #region PluginApi
-
- public object Init()
- {
- return null;
- }
-
- public object Active()
- {
- return null;
- }
-
- public object DeActive()
- {
- return null;
- }
-
- public void OnTabChange(object sender, object args)
- {
-
- }
-
- public void SetLogger(ILog logger)
- {
- log = logger;
}
#endregion
@@ -98,7 +49,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