2012-05-05 62 views
2

我看到一个类似的问题here但在答案后没有解决这个问题。图像仍然是垂直列出的。我绑定NetFlix的oData。WPF - 将图像水平绑定到ListView

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; 
+0

检查此链接 http://stackoverflow.com/questions/1041551/wpf-listview-with-horizo​​ntal-arrangement-of-items 问候 –

+0

我已经看到这个链接,并使用WrapPanel和图像仍然不会水平显示,我相信它可以与stackpanel一起使用。 –

回答

5

您正在使用错误的地方的StackPanel。 datatemplate中的stackpanel只是为listview中的每个项目创建一个包含单个图像的堆叠面板。尝试将itemspanel ..是这样的:

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