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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top