Я пытаюсь создать некоторую функциональность, при которой AppBar приложения будет скрываться, когда я прокручиваю вниз ItemsControl
- я прикрепил обработчик событий к ScrollViewer, но проблема, с которой я столкнулся, заключается в том, что функциональность очень чувствительный. Под этим я подразумеваю, что панель приложений продолжает отображаться и скрываться, когда я перемещаюсь вверх и вниз по списку.
Мой обработчик событий. У меня есть поле с именем scrollPoint
, в котором хранится последнее вертикальное смещение прокрутки.
private void pushScroll_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
var scrollViewer = (ScrollViewer)sender;
if (scrollViewer.VerticalOffset < scrollPoint)
{
bottomBar.Visibility = Visibility.Visible;
}
else
{
bottomBar.Visibility = Visibility.Collapsed;
}
scrollPoint = scrollViewer.VerticalOffset;
}
Шаблон управления моими товарами
<ItemsControl.Template>
<ControlTemplate>
<ScrollViewer x:Name="pushScroll" VerticalScrollMode="Enabled" BringIntoViewOnFocusChange="True" ViewChanged="pushScroll_ViewChanged">
<ItemsPresenter />
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>