Tengo un árbol que muestra el directorio y otro panel que muestra los archivos. En este momento, los archivos que se muestran no tienen íconos. Todo lo que sé es la ruta al archivo. Lo que me gustaría hacer es obtener ese ícono de archivos para mostrar en ese panel. Necesito que la salida sea Image.source. Actualmente esto es lo que tengoCargando iconos de una ruta determinada para mostrar en la ventana de WPF
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;
A partir de ahí llamar a mi quedará grabado y tratar de cambiar su icono por defecto con:
ImageSource i = GetIcon(f.fullname)
ic.image = i
ic
es el elemento dado a la lista, f.fullname contiene la ruta aquí es el obtener y establecer la imagen de
public BitmapImage Image
{
get { return (BitmapImage)img.Source; }
set { img.Source = value; }
}
no funciona y esta es una de las muchas maneras que he probado que dice que no puede emitir los diferentes tipos. ¿Alguien tiene una manera de hacer esto?
Estoy completamente perdido.