aktueller stand

This commit is contained in:
Meik
2025-11-13 18:35:45 +01:00
parent ed80f72e81
commit 8c74bc667d

View File

@@ -72,6 +72,7 @@ namespace FasdDesktopUi.Basics.UserControls
private string activeCategoryTableName = CategoryTableNamePrimary;
private static readonly Brush SharedValidationBorderBrush = CreateValidationBrush();
private static readonly Brush DefaultTextBoxBorderBrush = CreateDefaultTextBoxBorderBrush();
private static Brush CreateValidationBrush()
{
var brush = new SolidColorBrush(Color.FromRgb(0xF5, 0x7C, 0x73));
@@ -79,6 +80,13 @@ namespace FasdDesktopUi.Basics.UserControls
brush.Freeze();
return brush;
}
private static Brush CreateDefaultTextBoxBorderBrush()
{
var brush = new SolidColorBrush(Color.FromRgb(0xDE, 0xE2, 0xE6));
if (brush.CanFreeze)
brush.Freeze();
return brush;
}
private ObservableCollection<HierarchicalSelectionItem> categoryHierarchy = new ObservableCollection<HierarchicalSelectionItem>();
private readonly Dictionary<string, HierarchicalSelectionItem> categoryLookup = new Dictionary<string, HierarchicalSelectionItem>(StringComparer.OrdinalIgnoreCase);
@@ -2451,7 +2459,7 @@ namespace FasdDesktopUi.Basics.UserControls
private bool CheckTextBlockNotEmpty(TextBlock _textBlock, bool notEmpty)
{
var _retVal = false;
Brush _borderCaseNores = (SolidColorBrush)new BrushConverter().ConvertFromString("#DEE2E6");
Brush _borderCaseNores = DefaultTextBoxBorderBrush;
if (notEmpty && string.IsNullOrWhiteSpace(_textBlock.Text))
{
_retVal = true;
@@ -2464,74 +2472,40 @@ namespace FasdDesktopUi.Basics.UserControls
private static void setTextboxErrorState(object sender, bool hasError)
{
if (sender is TextBox textBox)
{
// Überprüfe den Inhalt und setze die Hintergrundfarbe entsprechend
if (hasError)
{
// Setze die Hintergrundfarbe auf Rot, um einen Validierungsfehler anzuzeigen
textBox.BorderBrush = SharedValidationBorderBrush;
}
else
{
// Setze die ursprüngliche Hintergrundfarbe zurück, wenn die Validierung erfolgreich ist
textBox.BorderBrush = (SolidColorBrush)new BrushConverter().ConvertFromString("#DEE2E6");
}
}
}
private void UpdateCategoryValidationVisualState(bool hasError)
{
if (CategoryValidationBorder == null)
var textBox = sender as TextBox;
if (textBox == null)
return;
if (defaultCategoryBorderBrush == null)
defaultCategoryBorderBrush = CategoryValidationBorder.BorderBrush?.CloneCurrentValue();
if (defaultCategoryBorderThickness == null)
defaultCategoryBorderThickness = CategoryValidationBorder.BorderThickness;
CategoryValidationBorder.BorderBrush = hasError
? validationErrorBrush
: defaultCategoryBorderBrush;
CategoryValidationBorder.BorderThickness = hasError
? new Thickness(1)
: defaultCategoryBorderThickness ?? new Thickness(0);
textBox.BorderBrush = hasError
? SharedValidationBorderBrush
: DefaultTextBoxBorderBrush;
}
private void UpdateQuickTicketValidationVisualState(bool hasError)
private void UpdateCategoryValidationVisualState(bool hasError) =>
UpdateValidationBorderState(CategoryValidationBorder, ref defaultCategoryBorderBrush, ref defaultCategoryBorderThickness, hasError);
private void UpdateQuickTicketValidationVisualState(bool hasError) =>
UpdateValidationBorderState(QuickTicketValidationBorder, ref defaultQuickTicketBorderBrush, ref defaultQuickTicketBorderThickness, hasError);
private void UpdateTicketStatusValidationVisualState(bool hasError) =>
UpdateValidationBorderState(TicketStatusValidationBorder, ref defaultTicketStatusBorderBrush, ref defaultTicketStatusBorderThickness, hasError);
private void UpdateValidationBorderState(Border border, ref Brush defaultBrush, ref Thickness? defaultThickness, bool hasError)
{
if (QuickTicketValidationBorder == null)
if (border == null)
return;
if (defaultQuickTicketBorderBrush == null)
defaultQuickTicketBorderBrush = QuickTicketValidationBorder.BorderBrush?.CloneCurrentValue();
if (defaultQuickTicketBorderThickness == null)
defaultQuickTicketBorderThickness = QuickTicketValidationBorder.BorderThickness;
QuickTicketValidationBorder.BorderBrush = hasError
? validationErrorBrush
: defaultQuickTicketBorderBrush;
QuickTicketValidationBorder.BorderThickness = hasError
? new Thickness(1)
: defaultQuickTicketBorderThickness ?? new Thickness(0);
if (defaultBrush == null)
{
var borderBrush = border.BorderBrush;
defaultBrush = borderBrush != null ? borderBrush.CloneCurrentValue() : null;
}
private void UpdateTicketStatusValidationVisualState(bool hasError)
{
if (TicketStatusValidationBorder == null)
return;
if (!defaultThickness.HasValue)
defaultThickness = border.BorderThickness;
if (defaultTicketStatusBorderBrush == null)
defaultTicketStatusBorderBrush = TicketStatusValidationBorder.BorderBrush?.CloneCurrentValue();
if (defaultTicketStatusBorderThickness == null)
defaultTicketStatusBorderThickness = TicketStatusValidationBorder.BorderThickness;
TicketStatusValidationBorder.BorderBrush = hasError
? validationErrorBrush
: defaultTicketStatusBorderBrush;
TicketStatusValidationBorder.BorderThickness = hasError
? new Thickness(1)
: defaultTicketStatusBorderThickness ?? new Thickness(0);
border.BorderBrush = hasError ? validationErrorBrush : defaultBrush;
border.BorderThickness = hasError ? new Thickness(1) : defaultThickness ?? new Thickness(0);
}