WPF legt ein MenuItem.Icon im Code fest
Frage
Ich habe einen Bilderordner mit einem PNG darin.Ich möchte das Symbol eines MenuItems auf dieses PNG setzen.Wie schreibe ich das in prozeduralem Code?
Lösung
menutItem.Icon = new System.Windows.Controls.Image
{
Source = new BitmapImage(new Uri("images/sample.png", UriKind.Relative))
};
Andere Tipps
<MenuItem>
<MenuItem.Icon>
<Image>
<Image.Source>
<BitmapImage UriSource="/your_assembly;component/your_path_here/Image.png" />
</Image.Source>
</Image>
</MenuItem.Icon>
</MenuItem>
Stellen Sie einfach sicher, dass Ihr Bild auch in der Projektdatei enthalten und als Ressource markiert ist, und schon kann es losgehen :)
Die Antwort von Arcturus ist gut, weil sie bedeutet, dass Sie die Bilddatei in Ihrem Projekt und nicht in einem unabhängigen Ordner haben.
Im Code wird das also...
menutItem.Icon = new Image
{
Source = new BitmapImage(new Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))
}
So habe ich es verwendet (auf diese Weise muss es nicht in die Baugruppe eingebaut werden):
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;
Das ist etwas kürzer :D
<MenuItem Header="Example">
<MenuItem.Icon>
<Image Source="pack://siteoforigin:,,,/Resources/Example.png"/>
</MenuItem.Icon>
</MenuItem>
Für diejenigen unter Ihnen, die vb.net verwenden: Dazu müssen Sie Folgendes verwenden:menuItem.Icon = New Image() With {.Source = New BitmapImage(New Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))}
Das hat bei mir funktioniert
<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>
Sie können auch Ihr Visual Studio verwenden, um ein Symbol einzufügen.Dies ist der einfachste Weg
- Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt
- wählte Eigenschaften
- Stellen Sie sicher, dass Sie sich auf der Bewerbungsseite befinden.
- @resources Sie sehen:Ikone und Manifest
- @ Symbol:Klicken Sie auf „Durchsuchen“ und wählen Sie Ihr Symbol aus.
Problem gelöst.