2015-11-10 3 views
0

Я использовал 3 дня на этой проблеме, поэтому я спрашиваю здесь.Как удалить дополнительную маржу из последнего элемента в scrollviewer?

У меня есть список, который содержит некоторые квитанции. когда я добавить несколько первых элементов все работает отлично:

enter image description here

, но как только элемент добавляется в ListBox, которые «переполнение» ScrollViewer, случайная маржа внезапно появляется и я не могу понять, как избавиться от это: enter image description here

Я пробовал разные версии платформы .NET и в 4,5 это не случается, но, к сожалению я обязан .NET 3.5

Вот ссылка на «песочнице» приложения с таким же поведением: link

Есть ли у кого-нибудь идеи?

Вот требования:

  • .NET 3.5
  • ListBox должен быть Виртуализованная, поскольку она может получить очень большой.
+0

Можете ли вы разместить XAML? – Contango

ответ

4

Вы установили CanContentScroll="True" на ScrollContentPresenter, что означает, что вы хотите прокручивать элементы по элементам. Если вы установили CanContentScroll="False", вы не увидите пустое место внизу. В настоящее время listBox будет использовать прокрутку по пикселям.

С прокруткой прокрутки в списке зарезервируйте некоторое пространство, чтобы убедиться, что следующий элемент идеально подходит для просмотра. Следовательно, вы видите пустое пространство внизу.

Однако установка его в значение false приведет к отключению виртуализации пользовательского интерфейса. Таким образом, это своего рода компромисс между пустым пространством и виртуализацией.

Это, как говорится, вы упомянули, что он отлично работает в .Net4.5, что не так. Я попробовал в вашем примере с 4.5 также и все тот же результат.

Смежные вопросы