From 4cac1b533e133fdc8b3def90a0f998820f51907a Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期三, 26 三月 2025 17:57:59 +0800
Subject: [PATCH] 优化UI,新增日志自动删除;
---
HMI.UI/DpUtil/FormGroupHelper.cs | 28 ++++++++++++++--------------
1 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/HMI.UI/DpUtil/FormGroupHelper.cs b/HMI.UI/DpUtil/FormGroupHelper.cs
index 3447885..01f6223 100644
--- a/HMI.UI/DpUtil/FormGroupHelper.cs
+++ b/HMI.UI/DpUtil/FormGroupHelper.cs
@@ -1,11 +1,9 @@
-锘縰sing System;
-using System.ComponentModel;
+锘縰sing HMI.Core.Util;
+using Panuon.WPF.UI;
using System.Windows;
using System.Windows.Controls;
-using Panuon.WPF.UI;
-using Panuon.WPF.UI.Configurations;
-namespace HMI.UI
+namespace HMI.UI.DpUtil
{
public class FormGroupHelper
{
@@ -24,15 +22,14 @@
new PropertyMetadata(false, (d, e) =>
{
if (!(d is FormGroup fg)) return;
- if ((bool)e.NewValue)
+ if ((bool)e.NewValue && !string.IsNullOrEmpty(fg.Header?.ToString()))
{
- var style = Application.Current.FindResource("RequiredInputFormGroupStyle") as Style;
- fg.Style = style;
+ var dataTemplate = Application.Current.FindResource("RequiredFormHeader") as DataTemplate;
+ fg.HeaderTemplate = dataTemplate;
}
else
{
- var style = Application.Current.FindResource("RequiredInputFormGroupStyle") as Style;
- fg.Style = style;
+ fg.HeaderTemplate = null;
}
}));
@@ -60,12 +57,14 @@
{
if (child is FormGroup fg)
{
+ fg.ValidateResult = ValidateResult.None;
+ fg.Message = null;
object content = fg.Content;
object value = GetValidateValue(content);
- if (value != null && GetIsRequired(fg) && string.IsNullOrEmpty(value.ToString()))
+ if (GetIsRequired(fg) && (value == null || string.IsNullOrEmpty(value.ToString())))
{
fg.ValidateResult = ValidateResult.Error;
- fg.Message = $"{fg.Header}涓嶈兘涓虹┖";
+ fg.Message = string.Format(LangUtil.Get("App.CantBeEmpty"), fg.Header);
res = false;
}
else
@@ -90,10 +89,11 @@
return elementCollection.Count > 0 ? GetValidateValue(elementCollection[0]) : null;
if (content is TextBox tb) return tb.Text;
if (content is CheckBox cb) return cb.IsChecked;
- if (content is ComboBox cBox) return cBox.Text;
+ if (content is ComboBox cBox) return cBox.SelectedItem ?? cBox.SelectedValue ?? cBox.Text;
if (content is Panel panel) return GetValidateValue(panel.Children);
- if (content is NumberInput numberInput) return numberInput.Value;
+ if (content is Panuon.WPF.UI.NumberInput numberInput) return numberInput.Value;
+ if (content is PasswordBox passwordInput) return passwordInput.Password;
return null;
}
}
--
Gitblit v1.9.1