ListBox exibindo imagens horizontais WPF
Eu estou tentando criar um controle em wpf / xaml que irá exibir uma lista horizontal de imagens. A largura da caixa de listagem a ser corrigida (sem barra de rolagem). Quando um novo item é adicionado, os itens existentes reduzem a quantidade de imagem exibida para acomodá-lo (a imagem real não reduz apenas a quantidade da imagem mostrada). A funcionalidade seria semelhante à adição de uma nova coluna a uma grade com uma propriedade de largura relativa ("*") e a coluna contém uma imagem com largura fixa. Aqui está meu código até agora:
<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>
Qual é muito perto do que eu preciso! No entanto, não consigo descobrir como reduzir a quantidade de imagem mostrada quando um novo item é adicionado à lista. Atualmente, uma barra de rolagem aparece quando um novo item é adicionado. Incase Eu não estou me explicando muito bem aqui estão algumas imagens mostrando a funcionalidade que eu preciso:
Alguém pode me mostrar como conseguir isso? Obrigado por qualquer ajuda!