WPF - ScrollView Confusion - PullRequest
       20

WPF - ScrollView Confusion

4 голосов
/ 03 декабря 2009

Я новичок в WPF, и ScrollViewer меня расстраивает. Либо я просто не «получаю» это, либо это ограниченный контроль.

Вот мои разочарования:

  1. Плохая горизонтальная прокрутка Горизонтальная полоса прокрутки видна только в нижней части списка (мне нужно прокрутить ее до конца)

  2. Плохие границы У меня есть ListBox в ScrollViewer. Когда я начинаю, нижняя часть списка не имеет границы, а когда я прокручиваю вниз, верхняя граница (линия) списка исчезает. Я могу отчасти понять это, но попытки установить BorderThickness или BorderBrush для ScrollViewer не приводят к изменениям (я хотел использовать границу ScrollViewer, чтобы сохранить поле константанта вокруг содержимого списка, как большинство списков в кибер-мире).

  3. Плохая обработка коротких списков Когда элементы в списке не достигают дна, ScrollViewer сохраняет там полосу прокрутки и просто сглаживает ее. Почему бы не освободить место и удалить его?

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

Если вы знаете способ исправить что-либо из этого, я бы с удовольствием ответил. Если есть лучший способ справиться с прокруткой, чем использовать ScrollViewer, это также приветствуется.

1 Ответ

11 голосов
/ 03 декабря 2009
  1. Может быть, вы видите полосу прокрутки внутри списка, а не полосу прокрутки из ScrollViewer? Попробуйте установить <ScrollViewer ... HorizontalScrollBarVisibility="Auto"> (по умолчанию Hidden, что означает, что горизонтальная полоса прокрутки не отображается никогда; также попробуйте «Видимый» для отладки)

  2. Опция <Border> вокруг ScrollViewer - это опция?

  3. VerticalScrollBarVisibility имеет значение по умолчанию Visible. Если вы хотите, чтобы полоса прокрутки исчезла, когда это не нужно, попробуйте <ScrollViewer ... VerticalScrollBarVisibility="Auto">.

...