Запрет прокрутки вложенного списка - PullRequest
1 голос
/ 31 октября 2010

У меня есть приложение, которое содержит вложенный список, то есть список внутри listbox.itemtemplate в шаблоне элемента другого списка. Я хотел бы предотвратить прокрутку внутреннего списка в пользу простой прокрутки внешнего списка. В настоящий момент можно прокрутить любой список, что немного запутывает пользователя.

|-----------------------
|
| List Item 1
|    |---------------
|    |  Inner item 1
|    |  Inner item 2      <--scrolls and I don't want it to
|    |--------------
| List Item 2

Ответы [ 3 ]

2 голосов
/ 31 октября 2010

Я собираюсь предположить, что вы знаете, что делаете здесь, но я предложу несколько вещей, которые следует учитывать и в отношении производительности.

Относительно решения вашей необходимости остановить внутренний списокиз scolling вы можете использовать blend для повторного ввода внутреннего списка и заменить ScrollViewer на ContentPresenter .Это остановит прокрутку.

Будьте осторожны с соображениями производительности с вложенными списками.В частности, вы хотите попытаться избежать изменения длины внутреннего списка (ваши данные могут уже учитывать это).

Элементы списка значений переменной высоты в лучшем случае нарушат виртуализацию пользовательского интерфейса, что снижает производительность прокрутки.

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

Вы могли бы также рассмотреть альтернативные реализации, чтобы упростить то, что вы отображаете, или, возможно, использовать более легкий элемент управления для внутреннего контейнера.StackPanel например.Конечно, вам может понравиться listbox за его способность перебирать ваши данные.Вы можете оценить свои собственные результаты.Я рекомендую тестировать на устройстве, так как это может отличаться от эмулятора.

И, наконец, вам также может понравиться руководство, составленное не так давно.

Silverlight для Windows Phone 7: Производительность прокрутки ListBox

Там довольно много комментариев о том, как сохранять списки не слишком сложными для производительности прокрутки на устройствах.

Прокрутка списков очень хорошапри исполнении в лучшем виде.

0 голосов
/ 16 декабря 2010

ScrollViewer.VerticalScrollBarVisibility = "Отключено" сработало для меня в аналогичной ситуации

0 голосов
/ 31 октября 2010

Я никогда не видел, чтобы это было реализовано на маленьком экране устройства.

Разместите свой «внутренний список» на отдельной странице.

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

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