Когда я помещаю ListBox внутри ScrollViewer, если я не определяю атрибут Height для ListBox, он не прокручивается (кроме отскока вверх и вниз немного), поэтому элементы с экрана недоступны. Если я устанавливаю атрибут Height в ListBox на фактическую высоту, которую он занимает на экране, он отлично прокручивается. Если я не получу высоту точно, она не прокручивается правильно, например. Возможно, я не смогу достичь нижних элементов в списке.Listbox внутри вычислений высоты ScrollViewer
При размещении других элементов в единственном столбце LayoutRoot Grid выше и ниже ScrollViewer/ListBox я устанавливаю RowDefinition.Height = «Auto» для всех строк, кроме ScrollViewer, который получает «*». Сетка, как представляется, правильно распределяет пространство соответственно. Кроме того, я не знаю, априори, сколько места занимает ScrollViewer/ListBox.
Часть A: Почему мне нужно устанавливать высоту в ListBox, не зависит ли ее (виртуальная) высота от количества элементов?
Часть B: Кажется, мне нужно вручную выложить высоту строки Grid, а затем вручную повторить их, если требуется изменить шрифт или другое изменение стиля. Это так? Этот подход кажется фиктивным.
Он становится еще более странным: мне нужен список с несколькими популярными элементами вверху, невыбираемая строка, а затем полный список ниже. Если я помещаю эти три элемента в сетку, содержащуюся в ScrollView, только нижний список ListBox прокручивается, а не вся сетка. Это совершенно неинтуитивно. Неправильно, даже. –