tener - image wpf c#
¿Cómo hacer referencia a los recursos de imágenes en XAML? (5)
- Agregue carpetas a su proyecto y agregue imágenes a estos mediante "Artículo existente".
- XAML similar a esto:
<Image Source="MyRessourceDir/images/addButton.png"/>
- F6 (compilación)
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?
Si la imagen está en su carpeta de recursos y su acción de compilación está configurada en 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 carpeta en la carpeta de Recursos y es una aplicación. Por ejemplo yo uso:
ImageSource="pack://application:,,,/Resources/RibbonImages/CloseButton.png"
cuando tengo una carpeta llamada RibbonImages en la carpeta de Recursos.
Si tiene una imagen en la carpeta Iconos de su proyecto y su acción de compilación es "Recurso", puede referirse a ella de esta manera:
<Image Source="/Icons/play_small.png" />
Esa es la forma más simple de hacerlo. Esta es la única forma en que podría figurar hacerlo solo desde el punto de vista de recursos y sin 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;
Una de las ventajas 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í hay un enfoque más limpio para lograr esto: suponiendo que Resources.resx está en el espacio de nombres ''UI.Images'', agregue la referencia del espacio de nombres en su xaml de esta manera:
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:UI="clr-namespace:UI.Images"
Establezca su Fuente de imagen así:
<Image Source={Binding {x:Static UI:Resources.Search}} />
donde ''Buscar'' es el nombre del recurso.