Я следовал этому маленькому "учебному руководству" о том, как добавить полосу прокрутки к ItemsControl, и оно работает в представлении Designer, но не, когда я компилирую и выполняю программу (только первые несколько объектов обнаруживаются, и никакая полоса прокрутки для просмотра более - даже когда VerticalScrollbarVisibility установлен на "Видимый" вместо "Автоматического").
Какая-либо идея о том, как решить это?
Это - код, который я использую для показа моих объектов (обычно, я работаю с Привязкой данных, но видеть объекты в моем Разработчике я добавил их вручную):
И это - мой Шаблон:
Чтобы получить полосу прокрутки для ItemsControl
, вы можете разместить ее в ScrollViewer
следующим образом:
<ScrollViewer VerticalScrollBarVisibility="Auto">
<ItemsControl>
<uc:UcSpeler />
<uc:UcSpeler />
<uc:UcSpeler />
<uc:UcSpeler />
<uc:UcSpeler />
</ItemsControl>
</ScrollViewer>
Вам необходимо изменить шаблон элемента управления вместо ItemsPanelTemplate:
<ItemsControl >
<ItemsControl.Template>
<ControlTemplate>
<ScrollViewer x:Name="ScrollViewer" Padding="{TemplateBinding Padding}">
<ItemsPresenter />
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>
</ItemsControl>
Возможно, ваш код не работает, потому что StackPanel имеет собственные функции прокрутки. Попробуйте использовать свойство StackPanel.CanVerticalScroll .