我对WPF很陌生,但我必须这样做,这需要我很多时间。我寻找一个解决方案,但有很多替代解决方案,我真的不明白大部分。我有这样的XAML代码:WPF:ListView与来自文件夹的图像
<ListView Name="Thumbnails">
<ListView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding}" Height="30" Width="30" Margin="5"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
除了这个隐藏代码:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
DirectoryInfo folder = new DirectoryInfo(Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"\SlikeSportista\");
FileInfo[] images = folder.GetFiles("*.jpg");
foreach (FileInfo img in images)
{
Thumbnails.Items.Add(img);
}
}
我也试过在foreach循环中这行代码:
Thumbnails.Items.Add(System.Drawing.Image.FromFile(img.FullName));
在这两种情况下,这些项目被添加,但是图像显示不正确,或者完全没有。您可以选择它们,并且文件夹中的元素数量相同,但没有显示。
另一个问题(不太重要的一个)将是如何以正方形而不是行来显示图像。基本上我想每行有大约4个左右的图像,但是现在我每行只有1个元素,一直延伸(尽管我看不到正在显示的内容)。
而不是使用Process.GetCurrentProcess()。MainModule.FileName会不会更容易使用相对路径? – user1069816 2014-12-30 22:32:26