Skip to content

Commit ac2546c

Browse files
authored
Manually scroll to offset (#6670)
1 parent e179bcf commit ac2546c

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

Files/Views/LayoutModes/DetailsLayoutBrowser.xaml.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ public ColumnsViewModel ColumnsViewModel
4646

4747
private RelayCommand<string> UpdateSortOptionsCommand { get; set; }
4848

49+
public ScrollViewer ContentScroller { get; private set; }
50+
4951
public DetailsLayoutBrowser() : base()
5052
{
5153
InitializeComponent();
@@ -72,6 +74,7 @@ protected override void HookEvents()
7274
private void ItemManipulationModel_ScrollIntoViewInvoked(object sender, ListedItem e)
7375
{
7476
FileList.ScrollIntoView(e);
77+
ContentScroller?.ChangeView(null, FileList.Items.IndexOf(e) * 36, null, true); // Scroll to index * item height
7578
}
7679

7780
private void ItemManipulationModel_StartRenameItemInvoked(object sender, EventArgs e)
@@ -783,9 +786,9 @@ private double MeasureTextColumn(int columnIndex, int measureItems, int maxItemL
783786

784787
private void FileList_Loaded(object sender, RoutedEventArgs e)
785788
{
786-
var contentScroller = FileList.FindDescendant<ScrollViewer>(x => x.Name == "ScrollViewer");
787-
contentScroller.ViewChanged -= ContentScroller_ViewChanged;
788-
contentScroller.ViewChanged += ContentScroller_ViewChanged;
789+
ContentScroller = FileList.FindDescendant<ScrollViewer>(x => x.Name == "ScrollViewer");
790+
ContentScroller.ViewChanged -= ContentScroller_ViewChanged;
791+
ContentScroller.ViewChanged += ContentScroller_ViewChanged;
789792
}
790793

791794
private void ContentScroller_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)

0 commit comments

Comments
 (0)