画像の水平方向のリストを表示するコントロールを wpf/xaml に作成しようとしています。固定するリストボックスの幅 (スクロールバーなし)。新しいアイテムが追加されると、既存のアイテムはそれに対応するために表示される画像の量を減らします (実際の画像は、表示される画像の量だけを減らすわけではありません)。この機能は、相対的な幅のプロパティ ("*") を持つグリッドに新しい列を追加するのと似ており、列には固定幅の画像が含まれています。これまでの私のコードは次のとおりです。
<Window.Resources>
<ItemsPanelTemplate x:Key="ListBox_HorizontalItems">
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
<DataTemplate x:Key="ListBox_DataTemplate">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50" />
</Grid.ColumnDefinitions>
<Image Width="150" Source="{Binding ImageSource}" />
</Grid>
</DataTemplate>
<Style x:Key="ListBox_Style_Horizontal" TargetType="ListBox">
<Setter Property="Width" Value="150" />-->
<Setter Property="ItemTemplate" Value="{StaticResource ListBox_DataTemplate}" />
<Setter Property="ItemsPanel" Value="{StaticResource ListBox_HorizontalItems}" />
</Style>
</Window.Resources>
<Grid>
<ListBox Name="lbxImages" Style="{StaticResource ListBox_Style_Horizontal}" Width="250" Height="100" />
</Grid>
これは私が必要とするものに非常に近いです! ただし、新しいアイテムがリストに追加されたときに表示される画像の量を減らす方法がわかりません。現在、新しいアイテムが追加されるとスクロールバーが表示されます。私が自分自身をうまく説明していない場合に備えて、必要な機能を示すスクリーンショットをいくつか示します。
これを達成する方法を誰かに教えてもらえますか? 助けてくれてありがとう!