我對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