Question

J'ai un dossier d'images contenant un png.Je voudrais définir l'icône d'un MenuItem sur ce png.Comment puis-je écrire cela dans le code procédural ?

Était-ce utile?

La solution

menutItem.Icon = new System.Windows.Controls.Image 
       { 
           Source = new BitmapImage(new Uri("images/sample.png", UriKind.Relative)) 
       };

Autres conseils

<MenuItem>
  <MenuItem.Icon>
    <Image>
      <Image.Source>
        <BitmapImage UriSource="/your_assembly;component/your_path_here/Image.png" />
      </Image.Source>
    </Image>
  </MenuItem.Icon>
</MenuItem>

Assurez-vous simplement que votre image est également incluse dans le fichier du projet et marquée comme ressource, et vous êtes prêt à partir :)

La réponse d'Arcturus est bonne car cela signifie que vous avez le fichier image dans votre projet plutôt que dans un dossier indépendant.

Donc, dans le code, cela devient...

menutItem.Icon = new Image
        {
        Source = new BitmapImage(new Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))
        }

Voici comment je l'ai utilisé (de cette façon, il n'a pas besoin d'être intégré à l'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;

C'est un peu plus court :D

<MenuItem Header="Example">
   <MenuItem.Icon>
      <Image Source="pack://siteoforigin:,,,/Resources/Example.png"/>
   </MenuItem.Icon>
</MenuItem>

Pour ceux d'entre vous qui utilisent vb.net, pour ce faire, vous devez utiliser ceci :menuItem.Icon = New Image() With {.Source = New BitmapImage(New Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))}

C'est ce qui a fonctionné pour moi

<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>

Vous pouvez également utiliser votre Visual Studio pour insérer une icône.C'est le moyen le plus simple

  • Faites un clic droit sur votre projet dans l'explorateur de solutions
  • choisi Propriétés
  • Assurez-vous que vous êtes sur la page de candidature.
  • @ressources que vous voyez :Icône et manifeste
  • @ Icône :Cliquez sur Parcourir et choisissez votre icône.

Problème résolu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top