fix roter rahmen

This commit is contained in:
Meik
2025-11-13 13:00:26 +01:00
parent 78dec5aa2c
commit 1aefa425e0
2 changed files with 76 additions and 50 deletions

View File

@@ -163,13 +163,14 @@
<Border x:Name="CategoryValidationBorder"
Margin="0 5 0 0"
BorderThickness="1"
Padding="1"
CornerRadius="7.5"
Background="Transparent"
BorderBrush="Transparent">
Background="{DynamicResource BackgroundColor.DetailsPage.DataHistory.ValueColumn}"
BorderBrush="{DynamicResource BackgroundColor.Menu.SubCategory.Hover}">
<local:HierarchicalSelectionControl x:Name="CategorySelectionControl"
SelectedItem="{Binding SelectedCategory, ElementName=CloseCaseDialogUc, Mode=TwoWay}"
ComboBoxBackground="{DynamicResource BackgroundColor.DetailsPage.DataHistory.ValueColumn}"
BorderBrush="{DynamicResource BackgroundColor.Menu.SubCategory.Hover}"
BorderBrush="Transparent"
SearchPlaceholderText="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=Searchbar.Placeholder}"
DropDownOpened="DropDownOpened"
DropDownClosed="DropDownClosed"
@@ -184,12 +185,14 @@
<Border x:Name="QuickTicketValidationBorder"
Margin="0 5 0 0"
BorderThickness="1"
Padding="1"
CornerRadius="7.5"
Background="Transparent"
BorderBrush="Transparent">
Background="{DynamicResource BackgroundColor.DetailsPage.DataHistory.ValueColumn}"
BorderBrush="{DynamicResource BackgroundColor.Menu.SubCategory.Hover}">
<ComboBox x:Name="QuickTicketSelection"
Background="{DynamicResource BackgroundColor.DetailsPage.DataHistory.ValueColumn}"
BorderBrush="{DynamicResource BackgroundColor.Menu.SubCategory.Hover}"
BorderBrush="Transparent"
BorderThickness="0"
SelectedIndex="0"
SelectionChanged="QuickTicketSelection_SelectionChanged"
PreviewKeyDown="Combobox_PreviewKeyDown"
@@ -304,10 +307,17 @@
SelectedInternIcon="status_bad"
VerticalAlignment="Bottom" />
</StackPanel>
<ComboBox x:Name="TicketStatusCombobox"
<Border x:Name="TicketStatusValidationBorder"
Margin="0 5 0 0"
BorderThickness="1"
Padding="1"
CornerRadius="7.5"
Background="{DynamicResource BackgroundColor.DetailsPage.DataHistory.ValueColumn}"
BorderBrush="{DynamicResource BackgroundColor.Menu.SubCategory.Hover}"
BorderBrush="{DynamicResource BackgroundColor.Menu.SubCategory.Hover}">
<ComboBox x:Name="TicketStatusCombobox"
Background="{DynamicResource BackgroundColor.DetailsPage.DataHistory.ValueColumn}"
BorderBrush="Transparent"
BorderThickness="0"
DropDownOpened="DropDownOpened"
DropDownClosed="DropDownClosed"
PreviewKeyDown="Combobox_PreviewKeyDown"
@@ -327,6 +337,7 @@
Visibility="{Binding EnableForwardTicketAction, ElementName=CloseCaseDialogUc, Converter={StaticResource BooleanToVisibility}}"
Tag="Forward" />
</ComboBox>
</Border>
</StackPanel>
</Border>

View File

@@ -77,6 +77,7 @@ namespace FasdDesktopUi.Basics.UserControls
private Brush defaultCategoryBorderBrush;
private Brush defaultQuickTicketBorderBrush;
private readonly Brush validationErrorBrush = new SolidColorBrush(Colors.Red);
private Brush defaultTicketStatusBorderBrush;
public bool IsTicket
{
@@ -433,6 +434,7 @@ namespace FasdDesktopUi.Basics.UserControls
this.Loaded += CloseCaseDialogWithTicket_Loaded;
defaultCategoryBorderBrush = CategoryValidationBorder?.BorderBrush?.CloneCurrentValue();
defaultQuickTicketBorderBrush = QuickTicketValidationBorder?.BorderBrush?.CloneCurrentValue();
defaultTicketStatusBorderBrush = TicketStatusValidationBorder?.BorderBrush?.CloneCurrentValue();
if (validationErrorBrush is Freezable freezableBrush && freezableBrush.CanFreeze)
freezableBrush.Freeze();
@@ -2014,18 +2016,18 @@ namespace FasdDesktopUi.Basics.UserControls
}
if (a.Tag != null || !TicketStatusCombobox.IsVisible)
bool ticketActionHasError = TicketStatusCombobox.IsVisible && a.Tag == null;
if (!ticketActionHasError)
{
//TicketStatusCombobox.Tag = "noerror";
if (_errors.ContainsKey(propertyName))
_errors.Remove(propertyName);
}
else
else if (!_errors.ContainsKey(propertyName))
{
//TicketStatusCombobox.Tag = "error";
if (!_errors.ContainsKey(propertyName))
_errors.Add(propertyName, cMultiLanguageSupport.GetItem("Dialog.CloseCase.ValidationErrorTicketActionEmpty"));
}
UpdateTicketStatusValidationVisualState(ticketActionHasError);
if (a.Tag == null)
ShowAssetWarningTicketAction = false;
else if (
@@ -2483,6 +2485,19 @@ namespace FasdDesktopUi.Basics.UserControls
: defaultQuickTicketBorderBrush;
}
private void UpdateTicketStatusValidationVisualState(bool hasError)
{
if (TicketStatusValidationBorder == null)
return;
if (defaultTicketStatusBorderBrush == null)
defaultTicketStatusBorderBrush = TicketStatusValidationBorder.BorderBrush?.CloneCurrentValue();
TicketStatusValidationBorder.BorderBrush = hasError
? validationErrorBrush
: defaultTicketStatusBorderBrush;
}
#region DropDown