WPF imposta un MenuItem.Icon nel codice
Domanda
Ho una cartella di immagini con un png al suo interno.Vorrei impostare l'icona di un MenuItem su quel png.Come posso scriverlo nel codice procedurale?
Soluzione
menutItem.Icon = new System.Windows.Controls.Image
{
Source = new BitmapImage(new Uri("images/sample.png", UriKind.Relative))
};
Altri suggerimenti
<MenuItem>
<MenuItem.Icon>
<Image>
<Image.Source>
<BitmapImage UriSource="/your_assembly;component/your_path_here/Image.png" />
</Image.Source>
</Image>
</MenuItem.Icon>
</MenuItem>
Assicurati solo che la tua immagine sia inclusa anche nel file di progetto e contrassegnata come risorsa, e sei a posto :)
La risposta di Arcturus è buona perché significa che hai il file immagine nel tuo progetto piuttosto che in una cartella indipendente.
Quindi, nel codice che diventa...
menutItem.Icon = new Image
{
Source = new BitmapImage(new Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))
}
Ecco come l'ho usato (in questo modo non è necessario che sia integrato nell'assembly):
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;
Questo è un po' più breve :D
<MenuItem Header="Example">
<MenuItem.Icon>
<Image Source="pack://siteoforigin:,,,/Resources/Example.png"/>
</MenuItem.Icon>
</MenuItem>
Per quelli di voi che utilizzano vb.net, per fare ciò è necessario utilizzare questo:menuItem.Icon = New Image() With {.Source = New BitmapImage(New Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))}
Questo è ciò che ha funzionato per me
<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>
Puoi anche utilizzare Visual Studio per inserire un'icona.Questo è il modo più semplice
- Fai clic con il pulsante destro del mouse sul tuo progetto in Esplora soluzioni
- ha scelto Proprietà
- Assicurati di essere nella pagina dell'applicazione.
- @risorse che vedi:Icona e Manifesto
- @ Icona:Fai clic su Sfoglia e scegli la tua icona.
Problema risolto.