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 :

Evènements avec un DataTemplate


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Par défaut Evènements avec un DataTemplate
    Bonjour,

    Je m'initie au DataTemplate. Ici c'est une listBox avec des checkBox. J'ai trouvé pour associer un XML pour mon test, plus tard je lirai un XML depuis le C# au lieu de faire comme ici un Binding... :

    Code : 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
    <Window xmlns:my="clr-namespace:WpfApplication6"  x:Class="WpfApplication6.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Window.Resources>
            <DataTemplate x:Key="listBoxTemplate">
                <ListBoxItem Background="LightSlateGray" Foreground="Orange"
                 FontFamily="Georgia" FontSize="14">
                    <CheckBox Name="CoffieCheckBox" >
                        <StackPanel Orientation="Horizontal" >
                            <TextBlock Text="{Binding XPath=Name}"  />
                        </StackPanel>
                    </CheckBox>
                </ListBoxItem>
            </DataTemplate>
        </Window.Resources>
     
        <Grid>      
    	<ListBox  Name="listBox2"  Foreground="Red" 
    		FontFamily="Verdana" FontSize="12" FontWeight="Bold" Margin="247,64,89,99"
    		ItemsSource="{Binding}"
    		ItemTemplate="{StaticResource listBoxTemplate}"
    		IsSynchronizedWithCurrentItem="True" />
        </Grid>
    </Window>
    Là où j'ai du mal c'est d'associer un évènement lorsqu'un utilisateur cliquera sur un Item ?

  2. #2
    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
    Tu t'abonnes au SelectionChanged de ta ListBox, tu ne gères pas ça dans le DataTemplate

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Par défaut
    En fait, ca marche pas.
    Sur une listBox normal avec des ListBoxItem, SelectionChanged fonctionne. Mais là avec le DataTemplate (checkbox) l'évènement SelectionChanged ne reçoit rien.
    quelque part je comprend car c'est un checkbox que je coche pas un listboxotem

    Mon approche est peut-être mauvaise, mon but et d'ouvrir un XML, de lister des noms avec une case à cocher afin que l'utilisateur puisse sélectionner ses choix..

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Par défaut
    Dans ton DataTemplate, tu peux lier par binding la propriété checked de la checkbox avec la propriété IsSelected de ton ListBoxItem.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <CheckBox Focusable="False" IsChecked="{Binding Path=IsSelected, 
    Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent} }">

Discussions similaires

  1. Evènements avec touche au clavier
    Par Mahmoud_ dans le forum Windows Forms
    Réponses: 8
    Dernier message: 12/03/2010, 00h43
  2. Evènement avec OSGI
    Par Digaboy dans le forum OGSi
    Réponses: 2
    Dernier message: 08/11/2009, 17h21
  3. [DataGrid] TemplateColumn avec un DataTemplate conditionnel
    Par TheBlackReverand dans le forum Silverlight
    Réponses: 1
    Dernier message: 18/05/2009, 05h00
  4. problème d'evènement avec JLIST
    Par henpower dans le forum Composants
    Réponses: 2
    Dernier message: 30/01/2008, 19h26
  5. Evénements avec Swing
    Par Djakisback dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 25/02/2006, 17h50

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