ListBox Wyświetlanie obrazów poziomych WPF

Próbuję utworzyć formant w wpf / xaml, który wyświetli poziomą listę obrazów. Szerokość pola listy, które ma zostać naprawione (bez paska przewijania). Po dodaniu nowego elementu istniejące elementy zmniejszają ilość wyświetlanego obrazu w celu dostosowania go (rzeczywisty obraz nie zmniejsza tylko ilości wyświetlanego obrazu). Funkcjonalność byłaby podobna do dodawania nowej kolumny do siatki z właściwością względnej szerokości („*”), a kolumna zawiera obraz o stałej szerokości. Oto mój kod do tej pory:

<code><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>
</code>

Który jest bardzo zbliżony do tego, czego potrzebuję! Nie mogę jednak ustalić, jak zmniejszyć ilość wyświetlanego obrazu, gdy nowy element zostanie dodany do listy. Obecnie pasek przewijania pojawia się po dodaniu nowego elementu. O ile nie wyjaśnię się bardzo dobrze, oto kilka zrzutów ekranu pokazujących potrzebną mi funkcję:

Czy ktoś może mi pokazać, jak to osiągnąć? Dzięki za pomoc!

questionAnswers(2)

yourAnswerToTheQuestion