如何检测滚动查看器是否在winrt中到达底部
我想知道什么是检测ScrollViewer是否到达底部,右边等的最佳方法。
我想我可以通过使用PointerWheelChanged用于鼠标和ManipulationDelta进行触摸来实现这一点。 在这些事件处理程序中,我可以记录HorizontalOffset以找出滚动器何时到达结尾。 但我认为可能有更好的方法来做到这一点。
我发现了这篇文章 。 但压缩视觉状态似乎不适用于winrt。 不会调用CurrentStateChanging事件方法。
我还检查了另一篇文章 。 但它只适用于滚动条,而不是通用方法。
谁知道解决这个问题的最佳方法是什么?
XAML:
代码背后:
private void OnScrollViewerViewChanged(object sender, ScrollViewerViewChangedEventArgs e) { var verticalOffset = sv.VerticalOffset; var maxVerticalOffset = sv.ScrollableHeight; //sv.ExtentHeight - sv.ViewportHeight; if (maxVerticalOffset < 0 || verticalOffset == maxVerticalOffset) { // Scrolled to bottom rect.Fill = new SolidColorBrush(Colors.Red); } else { // Not scrolled to bottom rect.Fill = new SolidColorBrush(Colors.Yellow); } }
对于UWP,我得到了这样的
private void scroll_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e) { var scrollViewer = (ScrollViewer)sender; if (scrollViewer.VerticalOffset == scrollViewer.ScrollableHeight) btnNewUpdates.Visibility = Visibility.Visible; } private void btnNewUpdates_Click(object sender, RoutedEventArgs e) { itemGridView.ScrollIntoView(itemGridView.Items[0]); btnNewUpdates.Visibility = Visibility.Collapsed; }
- 无法使用Headers =“application / x-www-form-urlencoded”编码我的JSON对象insdie我的WebClient UploadString
- 使用LINQkit在LINQ to Entities Select中调用Expression
- 为什么C#允许只有方法的最后一个参数是“可变长度”
- C#找到最大的公约数
- C#newbie:找出foreach块中的索引
- SqlDbType映射到varBinary(max)的是什么?
- 如何使用C#在ListView中对齐单个子项的文本?
- 为添加到窗体的控件除外,创建一个半透明或透明窗口窗口trasparent到鼠标事件
- StructureMap CacheBy InstanceScope.HttpSession不起作用