ItemsControl にスクロールバーを追加する方法について、この小さな「チュートリアル」に従いました。これはデザイナー ビューでは機能しますが、プログラムをコンパイルして実行すると機能しません (最初のいくつかの項目のみが表示され、さらに表示するためのスクロールバーはありません。 VerticalScrollbarVisibility が "Auto" ではなく "Visible" に設定されている場合)。
これを解決する方法について何か考えはありますか?
これは、アイテムを表示するために使用するコードです (通常はデータバインディングを使用しますが、デザイナーでアイテムを表示するために手動で追加しました)。
<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>
そして、これは私のテンプレートです:
<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>