Используйте ListBox. Затем используйте его свойство ItemsPanel, чтобы указать StackPanel с Orientation = Horizontal.
Затем вы указываете, как должен отображаться каждый продукт, используя ItemTemplate. Вы не указали, как именно вы хотите организовать свой продукт и какую структуру данных вы используете для его представления, поэтому я просто использовал простой шаблон, который вы можете изменить.
Код:
<ListBox>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{TemplateBinding ImageUrl}"/>
<StackPanel Orientation="Vertical">
<TextBlock Text="{TemplateBinding Name}"/>
<TextBlock Text="{TemplateBinding Price}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>