aktueller Stand

This commit is contained in:
Meik
2026-02-04 19:01:24 +01:00
parent 5a9e58dcfb
commit a1506f36c9
4 changed files with 107 additions and 52 deletions

View File

@@ -237,7 +237,8 @@ namespace FasdDesktopUi.Basics.Services.SupportCase
foreach (var column in table.Columns.Values) foreach (var column in table.Columns.Values)
{ {
column.Values[0] = null; if (column.Values != null && column.Values.Count > 0)
column.Values[0] = null;
column.IsIncomplete = true; column.IsIncomplete = true;
} }
@@ -253,7 +254,8 @@ namespace FasdDesktopUi.Basics.Services.SupportCase
foreach (var column in table.Columns.Values) foreach (var column in table.Columns.Values)
{ {
column.Values[0] = null; if (column.Values != null && column.Values.Count > 0)
column.Values[0] = null;
column.IsIncomplete = true; column.IsIncomplete = true;
} }
} }

View File

@@ -105,10 +105,12 @@
Padding="4" Padding="4"
BorderBrush="{DynamicResource BackgroundColor.Menu.SubCategory.Hover}" BorderBrush="{DynamicResource BackgroundColor.Menu.SubCategory.Hover}"
BorderThickness="1"> BorderThickness="1">
<ScrollViewer MaxHeight="320" <ScrollViewer x:Name="PART_CategoryScrollViewer"
MaxHeight="320"
VerticalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
Background="Transparent" Background="Transparent"
BorderThickness="0"> BorderThickness="0"
PreviewMouseWheel="CategoryScrollViewer_PreviewMouseWheel">
<TreeView x:Name="PART_TreeView" <TreeView x:Name="PART_TreeView"
Background="Transparent" Background="Transparent"
BorderThickness="0" BorderThickness="0"

View File

@@ -22,6 +22,7 @@ namespace FasdDesktopUi.Basics.UserControls
private TextBox searchTextBox; private TextBox searchTextBox;
private TreeView treeViewControl; private TreeView treeViewControl;
private ScrollViewer categoryScrollViewer;
public ObservableCollection<HierarchicalSelectionItem> VisibleItems => visibleItems; public ObservableCollection<HierarchicalSelectionItem> VisibleItems => visibleItems;
@@ -255,6 +256,48 @@ namespace FasdDesktopUi.Basics.UserControls
if (searchTextBox != null) if (searchTextBox != null)
searchTextBox.TextChanged += SearchTextBox_TextChanged; searchTextBox.TextChanged += SearchTextBox_TextChanged;
} }
if (categoryScrollViewer == null)
{
categoryScrollViewer = ComboBoxControl.Template.FindName("PART_CategoryScrollViewer", ComboBoxControl) as ScrollViewer;
}
}
private void CategoryScrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
var scroller = categoryScrollViewer ?? sender as ScrollViewer;
if (scroller == null || scroller.ScrollableHeight <= 0)
return;
var lines = SystemParameters.WheelScrollLines;
if (lines < 0)
{
if (e.Delta < 0)
scroller.PageDown();
else
scroller.PageUp();
e.Handled = true;
return;
}
if (lines == 0)
{
scroller.ScrollToVerticalOffset(scroller.VerticalOffset - e.Delta);
e.Handled = true;
return;
}
var direction = e.Delta < 0 ? 1 : -1;
var stepCount = Math.Max(1, Math.Abs(e.Delta) / 120) * lines;
for (var i = 0; i < stepCount; i++)
{
if (direction > 0)
scroller.LineDown();
else
scroller.LineUp();
}
e.Handled = true;
} }
private void UpdateDisplaySelection() private void UpdateDisplaySelection()

View File

@@ -423,6 +423,11 @@ namespace FasdDesktopUi.Pages.DetailsPage
#region BlurBorder Click #region BlurBorder Click
private void BlurBorder_Click() private void BlurBorder_Click()
{
BlurBorder_Click(keepTicketCompletion: false);
}
private void BlurBorder_Click(bool keepTicketCompletion)
{ {
try try
{ {
@@ -447,6 +452,9 @@ namespace FasdDesktopUi.Pages.DetailsPage
{ {
foreach (var blurInvoker in BlurInvokers.ToArray()) foreach (var blurInvoker in BlurInvokers.ToArray())
{ {
if (keepTicketCompletion && blurInvoker is TicketCompletion.TicketCompletion)
continue;
if (blurInvoker is Window blurInvokerWindow) if (blurInvoker is Window blurInvokerWindow)
blurInvokerWindow.Hide(); blurInvokerWindow.Hide();
} }
@@ -1040,7 +1048,7 @@ namespace FasdDesktopUi.Pages.DetailsPage
Dispatcher.Invoke(UpdateHistoryWidth); Dispatcher.Invoke(UpdateHistoryWidth);
if (e is BooleanEventArgs booleanArgs && booleanArgs.BooleanArg is true) if (e is BooleanEventArgs booleanArgs && booleanArgs.BooleanArg is true)
BlurBorder_Click(); BlurBorder_Click(keepTicketCompletion: true);
isDataChangedEventRunning = false; isDataChangedEventRunning = false;