invalidate scroll position

This commit is contained in:
Davran Dilshat 2021-08-23 17:13:25 +01:00
parent 20222f09c4
commit 6bea744e34
2 changed files with 4 additions and 6 deletions

View File

@ -202,8 +202,6 @@ protected void InvalidateScrollPosition()
});
}
private int lastKnownChildrenCount;
protected override void UpdateAfterChildren()
{
base.UpdateAfterChildren();
@ -222,12 +220,10 @@ protected override void UpdateAfterChildren()
}
float currentScroll = scrollContainer.Current;
var presentChildren = Children.Where(c => c.IsPresent);
if (currentScroll != lastKnownScroll || presentChildren.Count() != lastKnownChildrenCount)
if (currentScroll != lastKnownScroll)
{
lastKnownScroll = currentScroll;
lastKnownChildrenCount = presentChildren.Count();
// reset last clicked section because user started scrolling themselves
if (scrollContainer.UserScrolling)
@ -253,6 +249,8 @@ protected override void UpdateAfterChildren()
float scrollCentre = fixedHeaderSize + scrollContainer.DisplayableContent * scroll_y_centre + selectionLenienceAboveSection;
var presentChildren = Children.Where(c => c.IsPresent);
if (lastClickedSection != null)
SelectedSection.Value = lastClickedSection;
else if (Precision.AlmostBigger(0, scrollContainer.Current))

View File

@ -211,7 +211,7 @@ private void loadSections()
loading.Hide();
searchTextBox.Current.BindValueChanged(term => SectionsContainer.SearchContainer.SearchTerm = term.NewValue, true);
searchTextBox.Current.BindValueChanged(term => SectionsContainer.SearchTerm = term.NewValue, true);
searchTextBox.TakeFocus();
loadSidebarButtons();