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 :

comment récupérer un element dans un listbox via un template d'element


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut comment récupérer un element dans un listbox via un template d'element
    bonjour

    j'ai un listbox dans lequel j'ajoute des elements typés une classe non graphique
    j'ai un template pour cet element sur lequel il y entre autre un bouton
    sur ce bonton j'accroche un évènement via xaml sur le click

    comment récupérer l'élément dans le code behind pour pouvoir faire un traitement sur l'instance ??



    question subsidiaire, je voudrais que mon bouton ne soit visible que quand ma souris est sur l'element
    template : grid (image textblock button)
    j'ai essayé un style avec un trigger sur grid.ismouseover mais ca n'a pas l'air de se délencher

    merci
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Citation Envoyé par sperot51
    comment récupérer l'élément dans le code behind pour pouvoir faire un traitement sur l'instance ??
    Une solution rapide serait de mettre dans la propriété Tag du bouton l'élément en question. El dans l'événement clic du bouton, en castant le sender, tu pourras récupérer ce fameux Tag et donc ton élément.


    Citation Envoyé par sperot51
    question subsidiaire, je voudrais que mon bouton ne soit visible que quand ma souris est sur l'element
    template : grid (image textblock button)
    j'ai essayé un style avec un trigger sur grid.ismouseover mais ca n'a pas l'air de se délencher
    Je me demande si tu ne dois pas mettre un background pour que cela fonctionne... Teste vite fait avec background et si j'ai raison, utilise un background très très transparent mais pas totalement

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    le tag j'y avais pensé, mais ca fait moyennement propre
    m'enfin ca marche oui

    pour le background je comprends pas trop ce que tu dis
    j'ai déjà vu des webcasts où des boutons apparaissent quand la souris passe sur l'élément c'est que ca doit etre faisable
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    pour le background je comprends pas trop ce que tu dis
    j'ai déjà vu des webcasts où des boutons apparaissent quand la souris passe sur l'élément c'est que ca doit etre faisable
    Je suis pas sûr de ce que j'avance, mais si tu mets un background (autre que transparent) à ta Grid sur laquelle tu vérifies le IsMouseOver est-ce que cela fonctionne ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut
    sperot, si tu utilises le e.source dans ton evenement, ne peux tu pas remonter sur son parent ? ou un truc dans ce gout là.

    Pour ton histoire d'apparition de bouton, je te conseillerai d'utiliser Blend pour comprendre comment cela fonctionne. J'ai appris pas mal de choses avec
    Il est possible que ton Trigger ne soit pas appliqué au bon élément. Creuses dans cette direction. (d'ailleurs le style comportant ton trigger est appliqué sur quoi ? sur le grid ? si oui, essayes de le faire sur autre chose, un élément contenu dans ta grille par exemple, pour le test)

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par binoo Voir le message
    Je suis pas sûr de ce que j'avance, mais si tu mets un background (autre que transparent) à ta Grid sur laquelle tu vérifies le IsMouseOver est-ce que cela fonctionne ?
    En fait, peut importe la couleur que tu assignes tant que tu changes l'alpha

  7. #7
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    mon style est appliqué sur le bouton, c'est ptete là que ca cloche, je devrais peut etre le mettre sur le grid
    enfin wpf n'est pas très intuitif, une fois qu'on a compris un fonctionnement, on en voit la puissance et on arrive à le réécrire mais ca reste beaucoup de recherche ...


    je suis en train de partir sur un autre concept, les commandes, vu que le but c'est que quand je clic sur mon bouton (qui fait partie du template d'une classe non graphique) je veux executer une sub en rapport avec mon instance dans le listbox
    avec click="" on peut mettre une sub dans le form, mais je voudrais plutot appeler une sub sur l'instance, mais je ne vois pas comment, et je suis pas sur que les wpf commands répondent à ce besoin, j'ai du mal à cerner comment ca fonctionne dans les exemples que je trouve

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
     
    <DataTemplate DataType="{x:Type db:Database}">
        <Grid Margin="2">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="30"/>
                <ColumnDefinition />
                 <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Image  Width="20" Height="20"  Grid.Column="0" Source="/Resources/DataBase.png"/>
            <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center"  Grid.Column="1" Text="{Binding Path=Name}"/>
            <Button    Margin="4" Grid.Column="2" >
         <!-- <Button.Style >
                    <Style>
                        <Style.Triggers >
                            <Trigger Property="Grid.IsMouseOver" Value="True">
                                <Setter Property="Button.Visibility" Value="Visible"/>
                            </Trigger>
                                <Trigger Property="Grid.IsMouseOver" Value="False">
                                <Setter Property="Button.Visibility" Value="Hidden"/>
                            </Trigger>
                        </Style.Triggers>
                    </Style>
                </Button.Style>-->
                <Image  Width="20" Height="20" Source="/Resources/save.png"/>
            </Button>
        </Grid>
    </DataTemplate>

    au passage ca serait bien si le forum pouvait nous mettre en page le xaml !
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. [Sécurité] comment récupérer le subject dans une page jsp?
    Par lalakers dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 13/07/2005, 11h42
  2. Comment récupérer l'indice dans un TdxTreeList ?
    Par claude dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/12/2004, 15h17
  3. MAKEFILE : Comment récupérer l'OS dans le makefile
    Par nana1 dans le forum Systèmes de compilation
    Réponses: 12
    Dernier message: 14/09/2004, 16h23
  4. [debutant] supprimer elements dans une listbox
    Par F.F. dans le forum C++Builder
    Réponses: 8
    Dernier message: 02/07/2004, 11h38
  5. Réponses: 6
    Dernier message: 30/04/2004, 15h53

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