aktueller Stand
This commit is contained in:
@@ -22,6 +22,7 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
|
||||
private TextBox searchTextBox;
|
||||
private TreeView treeViewControl;
|
||||
private ScrollViewer categoryScrollViewer;
|
||||
|
||||
public ObservableCollection<HierarchicalSelectionItem> VisibleItems => visibleItems;
|
||||
|
||||
@@ -255,6 +256,48 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
if (searchTextBox != null)
|
||||
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()
|
||||
|
||||
Reference in New Issue
Block a user