WPF - 将图像水平绑定到ListView

时间:2012-05-05 00:51:54

标签: wpf listview data-binding

我看到一个类似的问题here但是在答案之后没有解决同样的问题。图像仍然垂直列出。我从NetFlix绑定oData。

enter image description here

以下是XAML: -

    <Window.Resources>
          <DataTemplate x:Key="ImageCell">
            <StackPanel Orientation="Horizontal">
                <Image Source="{Binding BoxArt.MediumUrl}" Width="200" Height="200" Stretch="Fill" ToolTip="{Binding Synopsis}"/>
            </StackPanel>
        </DataTemplate>
    </Window.Resources>

 <ListView Margin="21,40,26,9" Name="lvwTitles" ItemsSource="{Binding}" 
   IsSynchronizedWithCurrentItem="True" 
 SelectionMode="Single" ItemTemplate="{StaticResource ImageCell}">        
 </ListView>

以下是代码: -

List<Title> titles = serviceAccessor.GetAllTitlesByGenre(cmbGenre.SelectedValue.ToString());
lvwTitles.ItemsSource = titles;

1 个答案:

答案 0 :(得分:5)

您正在错误的位置使用堆栈面板。 datatemplate中的stackpanel只为列表视图中的每个项创建一个包含单个图像的堆栈面板。尝试设置itemspanel ..这样的事情:

<ListView>
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal" />
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
...
</ListView>