В Windows Phone ListBox поддерживает виртуализацию данных, это означает, что он может загружать только нужные данные и не все. Peter Torr explains интерфейс, который вам нужно реализовать.Виртуализация данных в Windows Phone 7: Пример
Короткий вариант заключается в том, что вам необходимо создать как метод, возвращающий позицию элемента, так и другой, который возвращает элемент в определенной позиции. Проблема в том, что пример Питера Торра довольно глупый, он просто возвращает объект с индексом в качестве имени.
Мой вопрос: как вы на самом деле реализуете это?
Моя идея - создать один файл, содержащий список (целочисленный) индекс и (целочисленный) идентификатор и файл для каждого объекта, который содержит фактические данные. Это не кажется действительно элегантной идеей, но я не могу придумать ничего лучше, не так ли?
UPDATE
Кажется, что мой вопрос неточен. Когда я говорю, что пример Питера Торра «довольно глупый», я не говорю, что он сделал что-то неправильно; его целью было просто объяснить, какой интерфейс вам нужно реализовать. Практическая реализация будет зависеть от конкретных данных.
Что я спрашиваю, каков выбор для реализации этого? Должен ли я просто помещать данные в веб-службу и запрашивать ее каждый раз (с локальным кешем, конечно), создавать базу данных, создавать файл в хранилище индексов и один для данных? Есть ли решение, достаточно хорошее в каждом случае? Каковы недостатки и недостатки каждого выбора?
FYI, похоже, ваш вопрос заключается не в виртуализации, а в том, как хранить данные на устройстве. Если это так, вы можете перефразировать его. –