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

Silverlight Discussion :

Mouse Over ListBox


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12
    Par défaut Mouse Over ListBox
    Bonjour ,

    Je viens vers vous aujourd'hui car j'ai un petit soucis qui parait simple comme ça mais que je n'arrive pas a résoudre.

    J'ai une ListBox j'affiche dans celle-ci des images,je lui ai appliqué un template qui modifie l'animation faite lors d'un mouseover. Jusque là tout va bien ma listbox m'affiche bien les éléments voulu. Maintenant je voudrait pouvoir afficher un texte qui décrit un peu l'image lors du mouseover sur celle-ci. Bien entendu chaque image à un descriptif différent donc il faudrait que je puisse récupérer l'élément de la listBox qui à le mouseover.

    Ensuite je pense que le mieux serait de binder un label (ou richtextbox je sais plus exactement le nom bref...) qui pourrait récuperer la description de l'image survolé.

    Mais ce n'est pas le plus important si déjà je peux récupérer l'élément courant dans le code behind pour affecter sa description à un label ça serait parfait.

    Merci d'avance pour votre

  2. #2
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Bonjour,

    Mais ce n'est pas le plus important si déjà je peux récupérer l'élément courant dans le code behind pour affecter sa description à un label ça serait parfait.
    Je ne pense pas que cela soit la meilleur idée. Il vaut mieux privilégier le Binding qui est plus simple à mettre en oeuvre en XAML.
    Tu peux, par exemple, créer un textblock contenant ta description (Binder) mais celui-ci est invisible tant que l'animation de l'état MouseOver n'est pas déclenchée.

    Sinon tu peux peut être aussi customiser un ToolTip.
    C'est sans doute le plus simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <Image Source="{Binding MonImage}">
        <ToolTipService.ToolTip> 
            <ToolTip>
                <TextBlock Text="{Binding MaDescription}"></TextBlock>
            </ToolTip>
        </ToolTipService.ToolTip>
    </Image>

  3. #3
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Le Tooltip est sans doute la méthode la plus facile à mettre en place.

    Sinon tu t'abonnes au MouseEnter de ta ListBox et si le e.OriginalSource == Grid (le template d'un ListBoxItem est composé d'un Grid) alors tu as ton ListBoxItem.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12
    Par défaut
    Bonjour ,

    Tout d'abord merci de ta réponse qui est tout a fait viable, j'y avait déjà pensé mais malheureusement un tooltip n'est pas suffisamment riche. Je serais plutôt preneur de ta 1 ère solution à savoir un textblock dans le stackpanel de ma listbox qui serait bind sur la description et qui apparaitrait lors du mouse over.

    J'ai fait toute les étapes nécessaire (binding placement retouche du style etc...) si je met la propriété Visibility à true cela me donne exactement ce que je veux or maintenant je ne sais pas comment faire pour l'afficher lors du mouseover.

    J'ai pensé à un binding entre control, je sais le faire pour binder 2 propriété d'élément entre elles mais pas pour binder un événement à une propriété. Il faudrait que lorsque l'évenement MouseOver est déclanché la propriete visiblility passe à Visible.

    Si tu as un pointeur ou autre je suis preneur (j'ai commencé à chercher ce que je pouvais trouver sur le sujet mais rien de bien concluant pour le moment)

  5. #5
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Regarde du coté des VisualStates (dont MouseOver) de ItemContainerStyle.
    Avec Blend c'est assez simple à modifier.

  6. #6
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    pour changer la propriété Visibility dans une animation c'est comme ça (cela te servira surement) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <Storyboard>
    	<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="contentPresenter" Storyboard.TargetProperty="(UIElement.Visibility)">
    		<DiscreteObjectKeyFrame KeyTime="00:00:00.5000000">
    			<DiscreteObjectKeyFrame.Value>
    				<Visibility>Collapsed</Visibility>
    			</DiscreteObjectKeyFrame.Value>
    		</DiscreteObjectKeyFrame>
    	</ObjectAnimationUsingKeyFrames>
    </Storyboard>

  7. #7
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    On fait de la Stéréo avec Sky, le son est meilleur comme ça

  8. #8
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par UrdaUrda Voir le message
    J'ai fait toute les étapes nécessaire (binding placement retouche du style etc...) si je met la propriété Visibility à true cela me donne exactement ce que je veux or maintenant je ne sais pas comment faire pour l'afficher lors du mouseover.
    Ben fais le dans le VisualStateManager dans le state MouseOver !

    Pour le Tooltip tu peux mettre tout ce que tu veux dedans, tu n'es pas limité à du texte hein. Tu peux mettre une image, un RichText, bref ce que tu veux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Faire apparaitre du texte avec un mouse over
    Par zooffy dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/04/2008, 19h56
  2. [Traitement d'image] Galerie photo en mouse over
    Par heteroclite dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 19/03/2008, 17h31
  3. Réponses: 1
    Dernier message: 02/02/2008, 08h39
  4. Les images clignotes lors du Mouse over
    Par The Bat ! dans le forum C++Builder
    Réponses: 4
    Dernier message: 30/05/2005, 10h37
  5. Equivalent on mouse over en CSS
    Par pmithrandir dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 25/04/2005, 14h10

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