IE по требованию Многочисленная привязка к ListBox - PullRequest
3 голосов
/ 08 декабря 2008

У меня есть потенциально довольно большой список объектов, которые я хотел бы привязать к ListBox в WPF. Однако я бы хотел, чтобы список загружался сам по себе. Как я могу связать ListBox с IEnumerable, который загружает себя по требованию таким образом, что список пытается только перечислить столько, сколько ему нужно для отображения?

Ответы [ 3 ]

3 голосов
/ 08 декабря 2008

WPF ListBox использует VirtualizingStackPanel в качестве элемента управления макетом для своих элементов. Вы можете настроить VirtualizingStackPanel на загрузку элементов только по мере необходимости со следующим XAML:

<ListBox 
    VirtualizingStackPanel.IsVirtualizing="True"
    ItemSource="..."
    />
1 голос
/ 08 декабря 2008

Вы можете сохранить список в базе данных - может быть, в памяти - и затем извлечь необходимый кусок в вашем IEnumerable с помощью LINQ.

0 голосов
/ 08 декабря 2008

С winform, «виртуальный режим» - но AFAIK, это не то же самое в WPF. Вы могли видеть этот форум MSDN сообщение.

Я в основном согласен с Дрю Маршем - пусть пользователь фильтрует данные, а не просматривает их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...