2014-01-06 1 views
3

Я пытаюсь реализовать бесконечную прокрутку для LongListSelector.Ограничить количество элементов, которые были реализованы или обнаружить элементы для просмотра LongListSelector

Я изначально заполняю список 15 элементами и полагаюсь на событие ItemRealized, чтобы определить, когда я нахожусь в конце списка и вам нужно загрузить больше. 5 элементов отображаются на экране WXGA одновременно.

Моя проблема в том, что все 15 предметов реализованы при первой загрузке, и она сразу же загружает больше. Это нежелательно, так как каждый груз привязан к дорогостоящему сетевому вызову.

Можно ли ограничить количество предметов для реализации вне вида (я бы установил его на < 15), или есть ли способ полагаться на предметы, находящиеся в поле зрения вместо того, чтобы быть реализованными?

ответ

1

Я думаю, что вам нужно, чтобы сохранить одно свойство в вашем ViewModel, который будет решать, когда груз .. код должен быть что-то вроде для любого фиксированного элемента (здесь 15 в вашем случае)

private void ItemRealized(object sender, ItemRealizationEventArgs e) 
    { 
     if (e.ItemKind == LongListSelectorItemKind.Item) 
     { 
      ViewModel vm = DataContext as ViewModel; 
      var item = e.Container.Content; 
      var items = nameoflonglistSelector.ItemsSource; 
      var index = items.IndexOf(item); 
      if (vm.Isloading == false && index == nameoflonglistSelector.ItemsSource.Count-1) //initally it will be false 
      { 
       vm.laodextraData(); 
       vm.Isloading = true; 
      } 
     } 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^