Знаете ли вы какой-либо другой способ получить Icon файла
На платформе UWP мы могли бы использовать GetThumbnailAsync
, чтобы получить Thumbnail
файла, для файла изображения мы могли бы получить пустой миниатюру файла, чтобы избежать предварительного просмотра изображения. Вы можете использовать следующий метод напрямую:
public static class FileExtension
{
public async static Task<StorageItemThumbnail> GetFileIcon(this StorageFile file, uint size = 32)
{
StorageItemThumbnail iconTmb;
var imgType = new[] { "bmp", "gif", "jpeg", "jpg", "png" }.FirstOrDefault(ext => file.Path.ToLower().EndsWith(ext));
if (imgType != null)
{
var dummy = await ApplicationData.Current.TemporaryFolder.CreateFileAsync("dummy." + imgType , CreationCollisionOption.ReplaceExisting); //may overwrite existing
iconTmb = await dummy.GetThumbnailAsync(ThumbnailMode.SingleItem, size);
}
else
{
iconTmb = await file.GetThumbnailAsync(ThumbnailMode.SingleItem, size);
}
return iconTmb;
}
}
Использование
var icon = await file.GetFileIcon();
var imgSource = new BitmapImage();
imgSource.SetSource(icon);
Myimage.Source = imgSource;