Я хочу отображать 10 тыс. Элементов в виде списка из базы данных. Я попытался использовать визуализацию с использованием интерфейса IList
. Идея состояла в том, чтобы извлекать элементы по одному, как запрошено списком. (Только видимые элементы). Но получаю следующее исключение, когда создаю объект VirtualComboList
и назначаю его ListView.WinRT ListView virtualization
Object reference not set to an instance of an object.
Аналогичный код отлично подходит для WP8 (Silverlight). Теперь, может ли кто-нибудь сказать, что мне не хватает?
public void initializeList()
{
int ItemsCount = getItemsCountFromDatabase();
VirtualComboList list = new VirtualComboList(ItemsCount);
listBox1.ItemsSource = list; //Exception at this line
}
Мой VirtualComboList класс, реализующий интерфейс IList
class VirtualComboList : IList<string>
{
int ItemCount;
public VirtualComboList(int count)
{
ItemCount = count;
}
public int IndexOf(string item)
{
return -1;
}
public void Insert(int index, string item)
{
}
public void RemoveAt(int index)
{
}
public string this[int index]
{
get
{
return getStringFromDatabaseForIndex(index);
}
set
{
}
}
public void Add(string item)
{
}
public void Clear()
{
}
public bool Contains(string item)
{
return false;
}
public void CopyTo(string[] array, int arrayIndex)
{
}
public int Count
{
get { return ItemCount; }
}
public bool IsReadOnly
{
get { return true ; }
}
public bool Remove(string item)
{
return true;
}
public IEnumerator<string> GetEnumerator()
{
return null;
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return null;
}
}
Да, GetEnumerator не должен возвращать null, моя ошибка. –