The original code is:
public static IList<WeakReference> GetItemsInViewPort(ItemsControl list)
{
// ....
ScrollViewer scrollHost = VisualTreeHelper.GetChild(list, 0) as ScrollViewer;
The code here should be:
ScrollViewer scrollHost = null;
if (VisualTreeHelper.GetChildrenCount(list) > 0)
{
scrollHost = VisualTreeHelper.GetChild(list, 0) as ScrollViewer;
}
public static IList<WeakReference> GetItemsInViewPort(ItemsControl list)
{
// ....
ScrollViewer scrollHost = VisualTreeHelper.GetChild(list, 0) as ScrollViewer;
The code here should be:
ScrollViewer scrollHost = null;
if (VisualTreeHelper.GetChildrenCount(list) > 0)
{
scrollHost = VisualTreeHelper.GetChild(list, 0) as ScrollViewer;
}