숨기기 AppBar 에 스크롤
-
21-12-2019 - |
문제
내가 만들려고 일부 기능은 응용 프로그램의 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
<ItemsControl.Template>
<ControlTemplate>
<ScrollViewer x:Name="pushScroll" VerticalScrollMode="Enabled" BringIntoViewOnFocusChange="True" ViewChanged="pushScroll_ViewChanged">
<ItemsPresenter />
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>
해결책
에 대한 생각을 구현하는 타이머입니다.그래서 당신이 할 수 있는 스크롤 1/2 전에 두 번째 앱 바이 돌아온다.그러나,그것은 거의 사라지는 즉시 스크롤.
http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx
수도 있습을 보고 싶으로 애니메이션은 그래서 그리고 미끄럼다.
다른 팁
문제와 솔루션을 때 당신은 스크롤 appbar 항상할 수 있습니다.았다고 했습 IsIntermediate 이벤트 args?그것은 거짓 스크롤 중지 스크롤과 진실한 때에 스크롤 끝에 도달.려고 아래 코드입니다.
private async void scrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
if (e.IsIntermediate)
{
this.BottomAppBar.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
}
else
this.BottomAppBar.Visibility = Windows.UI.Xaml.Visibility.Visible;
}
제휴하지 않습니다 StackOverflow