Как сделать ListBox длиннее страницы? - PullRequest
0 голосов
/ 08 октября 2010

У меня есть список из 100 или около того предметов.Я хотел бы вывести все элементы на страницу, один под другим.Может быть, 25 или около того элементов будут видны изначально, а когда пользователи будут прокручивать, остальная часть списка будет видна.

Подвох здесь в том, что я не хочу использовать полосу прокрутки ListBox - я хочуиспользуйте полосу прокрутки страницы.(Под страницей я подразумеваю страницу aspx, которая содержит объект Silverlight.) Я могу легко удалить полосу прокрутки в ListBox, но тогда видны только верхние 25 элементов.И даже если я сделаю высоту ListBox произвольно большой, ListBox будет только такой же большой, как видимая область страницы, так что даже если я прокручиваю саму страницу, больше ничего не видно!

Чтобы уточнить, чтоЯ пытаюсь сделать - представьте себе простую страницу HTML со списком элементов:

<ul>
   <li>Item One</li>
   <li>Item Two</li>
   ...
   </li>Item One Hundered</li>
</ul>

Изначально вы видите только некоторые элементы, но когда вы прокручиваете страницу, остальные становятся видимыми.

Я пытаюсь сделать нечто подобное в Silverlight.Является ли ListBox неправильным элементом управления для использования?

1 Ответ

1 голос
/ 09 октября 2010

Если вы просто показываете предметы и вам не нужна интерактивность, вы хотите использовать ItemsControl. Если вам нужна интерактивность ListBox, то я считаю, что вы хотите структурировать ее так (не проверено)

<ScrollViewer>
    <StackPanel>
        <ListBox VerticalAlignment="Stretch" />
    </StackPanel>
<ScrollViewer>

Это должно дать вам ListBox бесконечную область, и, следовательно, она растянется до максимального размера.

...