Skip to content

Commit 0fcef23

Browse files
committed
fix: add ScrollViewer event handler to disable scroll indicators based on scroll position
1 parent e5516b5 commit 0fcef23

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/Views/Launcher.axaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@
9696
VerticalScrollBarVisibility="Disabled"
9797
DoubleTapped="MaximizeOrRestoreWindow"
9898
PointerPressed="BeginMoveWindow"
99-
PointerWheelChanged="ScrollTabs">
99+
PointerWheelChanged="ScrollTabs"
100+
ScrollChanged="OnTabsScrollChanged">
100101
<StackPanel x:Name="launcherTabsBar" Orientation="Horizontal" SizeChanged="UpdateScrollIndicator">
101102
<ListBox Classes="launcher_page_tabbar"
102103
ItemsSource="{Binding Pages}"

src/Views/Launcher.axaml.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,15 @@ private void UpdateScrollIndicator(object sender, SizeChangedEventArgs e)
265265
e.Handled = true;
266266
}
267267

268+
private void OnTabsScrollChanged(object sender, ScrollChangedEventArgs e)
269+
{
270+
if (sender is ScrollViewer scrollViewer)
271+
{
272+
leftScrollIndicator.IsEnabled = scrollViewer.Offset.X > 0;
273+
rightScrollIndicator.IsEnabled = scrollViewer.Offset.X < scrollViewer.Extent.Width - scrollViewer.Viewport.Width;
274+
}
275+
}
276+
268277
private void SetupDragAndDrop(object sender, RoutedEventArgs e)
269278
{
270279
if (sender is Border border)

0 commit comments

Comments
 (0)