Vengo de un fondo principalmente web y un poco de Windows Forms. Para un nuevo proyecto, vamos a utilizar WPF. La aplicación WPF necesitará entre 10 y 20 pequeños iconos e imágenes con fines ilustrativos. Estoy pensando en almacenarlos en el ensamblaje como recursos incrustados. ¿Es esa la forma correcta de hacerlo?
¿Cómo puedo especificar en XAML que un control de imagen debe cargar la imagen de un recurso incrustado?
Si va a utilizar la imagen en varios lugares, entonces vale la pena cargar los datos de la imagen una sola vez en la memoria y luego compartirlos entre todos los elementos Image
.
Para ello, cree un BitmapSource
como recurso en algún lugar:
lenguaje: xaml -->
<BitmapImage x:Key="MyImageSource" UriSource="../Media/Image.png" />
Entonces, en su código, utilice algo como
lenguaje: xaml -->
<Image Source="{StaticResource MyImageSource}" />
En mi caso, descubrí que tenía que configurar el archivo Image.png
para que tuviera una acción de compilación de Resource
en lugar de sólo Content
. Esto hace que la imagen se lleve dentro de su ensamblaje compilado.
Sí, es el camino correcto.
Usted podría utilizar la imagen en el archivo de recursos sólo con la ruta:
<Image Source="..\Media\Image.png" />
Usted debe establecer la acción de construcción del archivo de imagen a "Resource".
Si está utilizando Blend, para hacerlo más fácil y no tener problemas para obtener la ruta correcta para el atributo Fuente, sólo tiene que arrastrar y soltar la imagen desde el panel Proyecto al diseñador.