ventanas ventana una pasar otra nueva modal entre emergentes emergente datos crear abrir wpf xaml file path

ventana - En WPF, ¿cómo especifico la ruta a un archivo anidado en un directorio usando XAML?



ventanas emergentes en wpf (4)

Estoy tratando de hacer esto ...

<Image x:Name="imgGroupImage" Source="Images/unlock.png" Margin="0,0,5,0" />

Pero obtengo este error ...

No se puede convertir la cadena ''Images / unlock.png'' en el atributo ''Source'' al objeto de tipo ''System.Windows.Media.ImageSource''. No se puede encontrar el recurso ''forms / images / unlock.png''. Error en el objeto ''System.Windows.HierarchicalDataTemplate'' en el archivo de marcado ''Fuse; component / forms / mainwindow.xaml'' Línea 273 Posición 51.

Como puede ver, mi formulario que incluye este XAML está en una carpeta llamada Formularios. Mis imágenes están en una carpeta llamada Imágenes. ¿Cómo mapeo de formularios a imágenes?

Intenté Source = ".. Images / unlock.png" que no funciona en WPF.

¿Alguna ayuda?


Pruebe barras en lugar de barras diagonales inversas, y use una ruta absoluta guiando con una barra inclinada:

Source="/Images/unlock.png"

Eso generalmente me funciona

En su defecto, eche un vistazo a los URI del paquete .


  1. Agregue su imagen al proyecto en VS
  2. Haga clic derecho en esa imagen unlock.png
  3. Ir al menú contextual / Propiedades
  4. Cambiar la acción de compilación al recurso

Eso es :-)


¿Has intentado configurar la fuente en una imagen de mapa de bits ?

<Image x:Name="imgGroupImage" Margin="0,0,5,0" > <Image.Source> <BitmapImage UriSource="Images/unlock.png" /> </Image.Source> </Image>

Creo que el tipo predeterminado de Uri para UriSource es un UriSource relativo, que funciona a partir de la clase base de la aplicación. Puede encontrar que puede configurar BitmapSource un poco más fácil que tratar de encontrar la forma exacta en que debe ingresar la ruta del archivo en el atributo Source .


Para usar recursos ubicados en una carpeta diferente a la que está su XAML, haga esto:

<Image Source="pack://application:,,,/Resources/image.png"/>

Donde Recursos es el nombre del directorio del que desea usar los recursos y image.png es el nombre de la imagen para mostrar. Respuesta encontrada gracias a @ matt-hamilton y @ brian-hinchey y su mención de Pack URI.
Funciona perfectamente con tus propios convertidores. Solo tiene que devolver el esquema de coincidencia de cadenas anterior.