私は、マーキー スタイルの画像スクロール コントロールにしばらく苦労してきました。
しばらくの間、私はテンプレート化された ItemsControl に行き詰まりました:
<Window.Resources>
<DataTemplate x:Key="itemsTemplate">
<Image Source="{Binding AbsolutePath}"></Image>
</DataTemplate>
</Window.Resources>
<ItemsControl ItemTemplate="{StaticResource itemsTemplate}" x:Name="ic"
ItemsSource="{Binding ElementName=mainWindow, Path=DataItems}" VirtualizingStackPanel.IsVirtualizing="True">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Vertical" VerticalAlignment="Bottom"
VirtualizingStackPanel.IsVirtualizing="True" >
</VirtualizingStackPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
ItemsControl は ObservableCollection にバインドされているため、実行時に項目を追加できます。項目が画面外になるとすぐに、ObservableCollection から削除されます。
最後に行うことは、カスタム アイテム追加動作の実装です (insert-translateothers 動作の代わりにスムーズなスライドイン)。そのような効果を達成するために StackPanel から派生させますか、それとも現在追加中の項目で DoubleAnimation を実行しますか? 任意の提案をいただければ幸いです。