2010-07-01 2 views
6

J'essaie d'obtenir un bouton pour afficher une icône dans XAML. Initialement, je voulais coller un personnage à la place, mais vb Express 2008 ne le reconnaîtrait pas comme un symbole car ce n'est pas un personnage normal. Ensuite, j'ai créé une icône et essayé de définir la propriété de l'image du bouton pour le référencer, mais cela n'existe pas, donc plus de misère. Maintenant, j'ai utilisé les ressources du projet pour ajouter le fichier d'icône qu'il a poussé dans le répertoire des ressources du projet.Comment référencer une référence de fichier de ressources d'icônes dans XAML

Ce que je veux faire est d'utiliser XAML pour afficher l'icône, dans cette balise:

<Button> 
<Image Source="{StaticResource UpArrow}"/> 
</Button> 

Je veux idéalement avoir l'image dans un fichier séparé et référence par le projet. Je suis un peu confus par le problème de contenu/ressource.

J'ai essayé d'accéder à l'aide:

<UserControl.Resources> 
<BitmapImage x:Key="UpArrow" _ 
    UriSource="Resources/_25B2_Triangle__black__up_pointing.ico" /> 
</UserControl.Resources> 

J'ai lu des trucs sur l'ensemble de paquet qui est massif et déroutant. Sûrement, mettre une icône dans le fichier de ressources devrait faciliter la référence en utilisant/Resources ou similaire, au lieu du chemin du fichier absolu, sinon, quel est le point de celui-ci? Je veux tout faire en XAML plutôt qu'en code-behind parce que tout ce travail serait fait par le client, mais peut-être que je ne suis pas indigné quand utiliser le code derrière. Avec WPF, il y a très peu d'écrits sur ce que vous essayez de faire à grande échelle et pourquoi vous voudriez le faire, mis à part MS refrain constant de comment c'est «cool», ce qui n'est pas très utile.

Merci ..

Répondre

8

La meilleure façon de le faire est la suivante:

<Button> 
<Image Source="Resources/_25B2_Triangle__black__up_pointing.ico"/> 
</Button> 

La chose importante à retenir est de vous assurer que votre fichier icône est reconnu comme une ressource valide par votre application. Avec WPF, il y a un pas de plus que vous devez prendre par rapport à l'ancienne façon de le faire.

Dans votre Explorateur de solutions, développez le dossier 'Resources', puis cliquez sur le fichier "_25B2_Triangle_black_up_pointing.ico". Ensuite, appuyez sur F4 pour les propriétés. Assurez-vous que la propriété 'Build Action' est définie sur 'Resource'.

+0

Merci beaucoup, fonctionne parfaitement, mis à part un peu de peaufinage nécessaire car un idiot a décidé de mettre des virgules dans le nom de fichier, que vb.net convertit en double underscores/vice versa. L'action de construction était le bit critique! La réponse vient d'être découverte, car la notification semble avoir été suspendue. – user326775

Questions connexes