WPF configurando un MenuItem.Icon en el código
Pregunta
Tengo una carpeta de imágenes con un png.Me gustaría configurar el ícono de un elemento de menú en ese png.¿Cómo escribo esto en código procesal?
Solución
menutItem.Icon = new System.Windows.Controls.Image
{
Source = new BitmapImage(new Uri("images/sample.png", UriKind.Relative))
};
Otros consejos
<MenuItem>
<MenuItem.Icon>
<Image>
<Image.Source>
<BitmapImage UriSource="/your_assembly;component/your_path_here/Image.png" />
</Image.Source>
</Image>
</MenuItem.Icon>
</MenuItem>
Solo asegúrese de que su imagen también esté incluida en el archivo del proyecto y marcada como recurso, y listo :)
La respuesta de Arcturus es buena porque significa que tiene el archivo de imagen en su proyecto en lugar de una carpeta independiente.
Entonces, en el código eso se convierte...
menutItem.Icon = new Image
{
Source = new BitmapImage(new Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))
}
Así es como lo usé (de esta manera no es necesario integrarlo en el ensamblaje):
MenuItem item = new MenuItem();
string imagePath = "D:\\Images\\Icon.png");
Image icon = new Image();
icon.Source= new BitmapImage(new Uri(imagePath, UriKind.Absolute));
item.Icon = icon;
Esto es un poco más corto :D
<MenuItem Header="Example">
<MenuItem.Icon>
<Image Source="pack://siteoforigin:,,,/Resources/Example.png"/>
</MenuItem.Icon>
</MenuItem>
Para aquellos de ustedes que usan vb.net, para hacer esto necesitan usar esto:menuItem.Icon = New Image() With {.Source = New BitmapImage(New Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))}
Esto es lo que funcionó para mí
<MenuItem Header="delete ctrl-d" Click="cmiDelete_Click">
<MenuItem.Icon>
<Image>
<Image.Source>
<ImageSource>Resources/Images/delete.png</ImageSource>
</Image.Source>
</Image>
</MenuItem.Icon>
</MenuItem>
También puede utilizar Visual Studio para insertar un icono.Esta es la manera más fácil
- Haga clic derecho en su proyecto en el explorador de soluciones.
- eligió Propiedades
- Asegúrate de estar en la página de la aplicación.
- @ recursos que ves:Icono y Manifiesto
- @ Icono:Haga clic en Examinar y elija su icono.
Problema resuelto.