IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Background Image dans un Button


Sujet :

Windows Presentation Foundation

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Background Image dans un Button
    Bonjour je cherche à mettre une image dans un button j'ai donc fait comme ceci :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <Button>
              <Button.Background>
                    <ImageBrush ImageSource="image.jpg"></ImageBrush>
              </Button.Background>
    </Button>

    L'image se met bien le problème c'est quand je passe sur le button avec la souris elle s'efface et revient dès que je sors du button. Deuxième problème quand je désactive le button l'image n'est plus visible non plus.

    Quelqu'un aurait-il une solution ? Merci

  2. #2
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Ne peux-tu pas plutôt utiliser la propriété Content pour rendre ton image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <Button>
    	<Image Source="image.jpg" />
    </Button>
    ?

    Et utiliser une Grid si tu veux superposer un autre contenu à ton image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Button>
    	<Grid>
    		<Image Source="image.jpg" />
    		<TextBlock Text="Du texte" />
    	</Grid>
    </Button>
    ?
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Pour le Content c'est à la place du background ? Sinon pour le reste j'essayerais ce soir et je dis quoi.

    merci ,)

  4. #4
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Pour le Content c'est à la place du background ?
    Oui, le code précédent est équivalent à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <Button>
    	<Button.Content>
    		<Image Source="image.jpg" />
    	</Button.Content>
    </Button>
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Sonyy02 Voir le message
    L'image se met bien le problème c'est quand je passe sur le button avec la souris elle s'efface et revient dès que je sors du button. Deuxième problème quand je désactive le button l'image n'est plus visible non plus.
    C'est parce que le style par défaut pour les boutons contient des triggers qui modifient le background quand on passe la souris au dessus (IsMouseOver = true), quand le bouton est enfoncé (IsPressed = true), et quand il est désactivé (IsEnabled = false). Si tu ne veux plus avoir ce comportement, il faut créer ton propre style où tu modifies le template du bouton. Le plus simple pour faire ça est de partir du style par défaut, que tu peux trouver ici. Si tu utilises Blend, tu peux aussi créer directement un style à partir d'une copie du style par défaut.

    La solution de seriousme est également intéressante, mais ça ne donnera pas exactement le même résultat : l'image sera affichée dans le bouton, mais pas en tant que background. Le background par défaut sera toujours présent. Donc selon ce que tu veux faire exactement, ça fera l'affaire ou pas...

Discussions similaires

  1. [IE] Problème avec background-image dans un TR?!
    Par Danny Blue dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 05/12/2007, 17h29
  2. Plusieur background-image dans la meme class
    Par tyn0r dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 14/08/2007, 14h34
  3. [CSS]background-image dans un <TD>
    Par kij dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 03/03/2007, 17h02
  4. background-image dans un mail
    Par lau_the_raptor dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 06/11/2006, 00h23
  5. [CSS] background-image dans un <button>
    Par Djakisback dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 25/01/2006, 11h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo