Postępowałem zgodnie z tym małym "samouczkiem", jak dodać pasek przewijania do ItemsControl i działa on w widoku projektanta, ale nie wtedy, gdy kompiluję i uruchamiam program (pojawia się tylko kilka pierwszych elementów i brak paska przewijania, aby wyświetlić więcej - nawet gdy VerticalScrollbarVisibility jest ustawiona na „Visible” zamiast „Auto”).
Masz jakiś pomysł, jak to rozwiązać?
To jest kod, którego używam do wyświetlania moich elementów (zwykle pracuję z Databinding, ale aby zobaczyć elementy w moim Projektancie, dodałem je ręcznie):
<ItemsControl x:Name="itemCtrl" Style="{DynamicResource UsersControlStyle}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Top">
</StackPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<uc:UcSpeler />
<uc:UcSpeler />
<uc:UcSpeler />
<uc:UcSpeler />
<uc:UcSpeler />
</ItemsControl>
A to jest mój szablon:
<Style x:Key="UsersControlStyle" TargetType="{x:Type ItemsControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ItemsControl}">
<Border SnapsToDevicePixels="true" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
<ScrollViewer VerticalScrollBarVisibility="Visible">
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>