5 votes

L'image d'arrière-plan du bouton ne s'affiche pas dans WPF

J'ai un programme dans lequel j'ai beaucoup de boutons. Chaque bouton a un arrière-plan défini comme

  <Button x:Name="mybutton"  HorizontalAlignment="Left" Height="30" Margin="76,110,0,0" VerticalAlignment="Top" Width="25" Click="some_click">
                <Button.Background>
                    <ImageBrush ImageSource="Resource/button_picture.png"/>
                </Button.Background>
</Button>

L'image s'affiche comme arrière-plan dans .xaml lorsque le programme n'est pas en cours d'exécution, mais lorsque je lance l'application, l'image n'est pas présente en arrière-plan du bouton. Comment puis-je déboguer cet arrière-plan dans le bouton ? Y a-t-il une erreur bizarre ?

6voto

Shrinand Points 151

Assurons-nous que les propriétés suivantes sont bien définies dans votre scénario

1) Action de construction -> Ressource

2) Copier dans le répertoire de sortie -> Ne pas copier

3) Au lieu d'utiliser le chemin relatif pour la source de l'image, essayez d'utiliser le chemin complet de l'image comme ceci (je dis cela parce que je ne sais pas où la ressource image est située dans votre projet, utiliser le chemin relatif est parfaitement normal dans WPF)

<Image Source="pack://application:,,,/AssemblyNameContainingImageResource;component/Resource/button_picture.png" />

3voto

Herks Points 877

Vous devez modifier le code comme suit

<Button x:Name="mybutton"  HorizontalAlignment="Left" Height="30" Margin="76,110,0,0"    VerticalAlignment="Top" Width="25" Click="some_click">
    <Image Source="Resource/button_picture.png"/>
</Button>

0voto

Manish Points 500

Changez l'action de construction de button_picture.png en Resource si elle est contenue. Vérifiez également la valeur de la propriété Copy to output directory

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X