У меня есть дерево, которое отображает каталог, и другая панель, которая отображает файлы. Прямо сейчас отображаемые файлы не имеют значков. Все, что я знаю, это путь к файлу. То, что я хотел бы сделать, это заставить этот значок файлов отображаться на этой панели. Мне нужен вывод и Image.source. В настоящее время это то, что у меня есть
private ImageSource GetIcon(string filename)
{
System.Drawing.Icon extractedIcon = System.Drawing.Icon.ExtractAssociatedIcon(filename);
ImageSource imgs;
using (System.Drawing.Icon i = System.Drawing.Icon.FromHandle(extractedIcon.ToBitmap().GetHicon()))
{
imgs = Imaging.CreateBitmapSourceFromHIcon(
i.Handle,
new Int32Rect(0, 0, 16, 16),
BitmapSizeOptions.FromEmptyOptions());
}
return imgs;
Оттуда я вызываю свой itme и пытаюсь изменить его значок по умолчанию:
ImageSource i = GetIcon(f.fullname)
ic.image = i
ic
- данный элемент в списке, f.fullname содержит путь
вот получить и установить изображение
public BitmapImage Image
{
get { return (BitmapImage)img.Source; }
set { img.Source = value; }
}
Это не работает, и это один из многих способов, которые я пробовал, говорит, что он не может разыгрывать разные типы. У кого-нибудь есть способ сделать это?
Я полностью потерян.