UWP listView加载更多
ScrollBar sb;
ScrollViewer sv;
private void listView_Loaded(object sender, RoutedEventArgs e)
{
sv = FindVisualChild<ScrollViewer>(listView, "ScrollViewer");
sb = FindVisualChild<ScrollBar>(sv, "VerticalScrollBar");
sb.ValueChanged += Sb_ValueChanged;
}
private void Sb_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
{
if (e.NewValue > e.OldValue && e.NewValue >= sb.Maximum)
{
new MessageDialog("ok" , "title").ShowAsync();
}
}
/// <summary>
/// 获取模板控件
/// </summary>
/// <typeparam name="T">获取的类型</typeparam>
/// <param name="obj">控件对象</param>
/// <returns></returns>
private T FindVisualChild<T>(DependencyObject obj, string name) where T : DependencyObject
{
//获取控件可视化树中的子对象数量
int count = VisualTreeHelper.GetChildrenCount(obj);
//根据索引遍历每一个对象
for (int i = 0; i < count; i++)
{
var child = VisualTreeHelper.GetChild(obj, i);
//根据参数判断是不是我们要找的对象,如果是 就返回,并退出该方法,
//如果不是则再递归到下一层查找
if (child is T && ((FrameworkElement)child).Name == name)
{
return (T)child;
}
else
{
var child1 = FindVisualChild<T>(child, name);
if (child1 != null)
{
return (T)child1;
}
}
}
return null;
}