私はこのようなItemTemplateでListViewを使用しています:
<Window.Resources>
<DataTemplate x:Key="ItemTemplate">
<WrapPanel Orientation="Horizontal">
<Image Width="50" Height="50" Stretch="Fill" Source="{Binding Cover}"/>
<Label Content="{Binding Title}" />
</WrapPanel>
</DataTemplate>
</Window.Resources>
ただし、カバーはウィンドウズエクスプローラーウィンドウのように画面いっぱいに表示されません。
どうすればよいですか?彼らは私のバージョンでは垂直に積み重なるだけです。
(ソース: functionx.com )
WrapPanelをListViewのアイテムパネルとして使用して、水平スクロールバーを無効にしてください。
<ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
...
</ListView>
更新:itowlsonは、説明を明確にするためにこの説明を提案しています:ItemTemplateは、各アイテムのレンダリング方法を指定します。アイテムのレイアウトには影響しません。対照的に、ItemsPanelはレイアウトを指定します。
また、すべてのアイテムを同じサイズで表示することもできます。この記事からその方法を見つけることができます: http://joshsmithonwpf.wordpress.com/2008/09/06/synchronizing-the-width-of-elements-in-an-itemscontrol/ =