Soy muy nuevo en WPF. Puse un control de imagen en una ventana y me gustaría establecer la imagen en el control a una imagen que está almacenada en un archivo de recursos del proyecto llamado "Resources.resx". El nombre de la imagen en el archivo de recursos es 'Buscar'. ¿Podría alguien mostrarme cómo podría hacer esto?¿Cómo hacer referencia a los recursos de imágenes en XAML?
Respuesta
Si la imagen está en la carpeta de recursos y su acción se establece en la acumulación de recursos. Puede hacer referencia a la imagen en XAML de la siguiente manera:
"pack://application:,,,/Resources/Search.png"
Suponiendo que no tiene ninguna estructura de carpetas en la carpeta de recursos y es una aplicación. Por ejemplo, yo utilizo:
ImageSource="pack://application:,,,/Resources/RibbonImages/CloseButton.png"
cuando tengo una carpeta RibbonImages nombradas en la carpeta Recursos.
Si usted tiene una imagen en la carpeta de los iconos de su proyecto y su acción de construcción es "Recursos", puede hacer referencia a ella como esto:
<Image Source="/Icons/play_small.png" />
Esa es la forma más sencilla de hacerlo. Esta es la única manera de que pudiera Figura hacerlo únicamente desde el punto de vista de los recursos y no hay archivos de proyecto:
var resourceManager = new ResourceManager(typeof (Resources));
var bitmap = resourceManager.GetObject("Search") as System.Drawing.Bitmap;
var memoryStream = new MemoryStream();
bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Bmp);
memoryStream.Position = 0;
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = memoryStream;
bitmapImage.EndInit();
this.image1.Source = bitmapImage;
Hay una ligera variación en esto: '
Gracias, respuesta actualizada. – RandomEngy
Uno de los beneficios de utilizar el archivo de recursos es acceder a los recursos por nombres, por lo que la imagen puede cambiar, el nombre de la imagen puede cambiar, siempre que el recurso se mantenga actualizado se mostrará la imagen correcta.
Aquí es un enfoque más limpio de lograr esto: Suponiendo Resources.resx está en espacio de nombres '' UI.Images, agregar la referencia en su espacio de nombres XAML como esto:
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:UI="clr-namespace:UI.Images"
Indica tu Fuente de la imagen como esta :
<Image Source={Binding {x:Static UI:Resources.Search}} />
donde 'Buscar' es el nombre del recurso.
- Agregue carpetas a su proyecto y agregue imágenes a estas a través de "Artículo existente".
- XAML similar a esto:
<Image Source="MyRessourceDir\images\addButton.png"/>
- F6 (Crear)
- 1. ¿Cómo hacer referencia a los recursos incrustados de XAML?
- 2. En WinRT XAML, ¿cómo hacer referencia a las imágenes en ensamblado/proyecto externo/por separado?
- 3. ¿Cómo hacer referencia a los iconos dentro de los archivos .resx de xaml?
- 4. Imágenes vinculadas a imágenes agregadas a archivos resx usando XAML
- 5. cómo hacer referencia a una clase adecuada de XAML
- 6. Cómo hacer referencia al objeto actual en XAML
- 7. ¿Cómo hacer referencia a imágenes incrustadas desde CSS?
- 8. WPF: Hacer referencia a los recursos de toda la aplicación en el código subyacente
- 9. Hacer referencia a los archivos de recursos de varios proyectos en una solución
- 10. WPF Imágenes contra XAML
- 11. Problemas al hacer referencia a un diccionario de recursos que contiene un diccionario combinado
- 12. convención de nomenclatura de recursos XAML
- 13. Cómo proporcionar recursos XAML a partir de componentes MEF
- 14. Recursos de referencia en javadoc
- 15. Archivo de recursos Databind en XAML
- 16. ¿Hay alguna manera de hacer referencia (en XAML) a un conjunto con espacios en su nombre?
- 17. StringFormat en Silverlight Xaml y recursos
- 18. ¿Cómo hacer referencia a Microsoft.Solver.Foundation en vs12?
- 19. ¿Cómo uso los recursos globales en WPF?
- 20. ¿Dónde encontrar buenos recursos para aprender XAML?
- 21. Android: Cómo hacer referencia a imágenes de activos desde una página html cargada remotamente en webview
- 22. Qt cómo acceder a los recursos
- 23. ¿Cómo hacer referencia a imágenes CDN en una hoja de estilo que puede usar HTTPS?
- 24. ¿Cómo puedo hacer referencia a las imágenes en la canalización de activos desde un modelo?
- 25. ¿Cómo hacer referencia a los "activos" de Android en los paquetes?
- 26. ¿Cómo debo hacer referencia a los ensamblajes desde otra solución?
- 27. ¿Cómo hacer referencia a los módulos locales utilizando dependency.yml?
- 28. Android - ¿Cómo mostrar imágenes de recursos dibujables?
- 29. ¿Cómo gestiona Monotouch los recursos (cadenas, imágenes, etc.)?
- 30. ¿Cómo definir correctamente los colores en los diccionarios de recursos?
¿Qué representa el espacio de nombre 'paquete'? – Hosea146
aquí hay información sobre el paquete uri: http://msdn.microsoft.com/en-us/library/aa970069(v=VS.90).aspx#The_Pack_URI_Scheme – Viv
Ha pasado un tiempo desde que agregué imágenes a mi aplicación ... . Podría estar trabajando aquí, pero creo que podría necesitar construir su aplicación antes de que muestre la imagen en el diseñador de WPF. – Viv