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 :

Binding dans un DataTemplate


Sujet :

Windows Presentation Foundation

  1. #1
    Membre éprouvé Avatar de jmnicolas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2007
    Messages : 427
    Points : 976
    Points
    976
    Par défaut Binding dans un DataTemplate
    Bonjour, j'ai un petit problème de binding en WPF :

    J'ai une ListBox dont l'itemssource est une ObservableCollection d'objets TrancheHoraire (leur particularité est d'avoir un DateTime début et fin dans lequel je ne prend en compte que les heures et les minutes).

    Par contre je n'arrive pas à binder un composant interne de ma ListBox.
    Voici le XAML :

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <ListBox x:Name="UiLstTrancheHoraire" Height="60" Margin="5">
    	<ListBox.ItemTemplate>
    		<DataTemplate>
    			<Grid>
    				<Label Content="Début : " Margin="5,0,5,0" Padding="0" Grid.Row="0" Grid.Column="0"/>
    				<k:DateTimeUpDown Format="ShortTime" FormatString="HH:mm" Value="{Binding Path=Début}" 
    								  ValueChanged="HoraireDebut_ValueChanged" Margin="5,0,5,5" Grid.Row="1" Grid.Column="0"/>
    			</Grid>
    		</DataTemplate>
    	</ListBox.ItemTemplate>
    </ListBox>

    DateTimeUpDown est un composant optionnel trouvé sur http://wpftoolkit.codeplex.com

    Question subsidiaire : est il possible de récupérer l'objet TrancheHoraire qui est entrain d'être modifié lorsque l'événement ValueChanged est lancé ?

    PS j'ai volontairement simplifié le XAML pour pas vous noyer dans du code inutile.

    Merci.
    The greatest shortcoming of the human race is our inability to understand the exponential function. Albert A. Bartlett

    La plus grande lacune de la race humaine c'est notre incapacité à comprendre la fonction exponentielle.

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Il n'y a pas une erreur de binding dans la console Visual Studio ?

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 026
    Points : 5 466
    Points
    5 466
    Par défaut
    Question bête:
    c'est normal que ta propriété "Début" à un accent?
    Je sais bien que c# autorise les accents, mais j'ai jamais vu personne en mettre, alors peut être que ta variable c'est Debut et non Debut .

    Sinon tu parles de code que tu as enlevé, il n'y a pas d'affectation du datacontext?

  4. #4
    Membre éprouvé Avatar de jmnicolas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2007
    Messages : 427
    Points : 976
    Points
    976
    Par défaut
    Pas d'erreur dans la console, le datacontext est affecté dans le code behind en affectant mon ObservableCollection<TrancheHoraire> à la propriété ItemSource de la ListBox.

    L'accent est volontaire, j'ai utilisé plusieurs fois des accents dans des bindings et j'ai jamais eu de soucis. Tout mon code est francisé, déjà que je lis, écoute et regarde de l'anglais toute la journée, alors j'essaye de garder le plus de français possible sinon j'en viens à chercher mes mots et mes collègues me regardent bizarrement
    The greatest shortcoming of the human race is our inability to understand the exponential function. Albert A. Bartlett

    La plus grande lacune de la race humaine c'est notre incapacité à comprendre la fonction exponentielle.

  5. #5
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    Hello,

    Si tu tentes d'afficher d'autres propriété de ton objet, elles sont affichées ou pas ?

    Bon courage,
    Jonathan ANTOINE - Découvrez mon livre: MVVM, de la découverte à la maîtrise.

    Microsoft MVP Client Application Development
    - MCPD Windows 4.0, etc.
    Mon blog : http://www.jonathanantoine.com

  6. #6
    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
    Points : 3 015
    Points
    3 015
    Par défaut
    Salut,

    Une solution pour debugger est de mettre un Converter de test. Ensuite tu mets un point d'arrêt dans ton Converter :
    • si tu n’atteins pas le point d'arrêt dans ton Converter, tu as un problème
    • si tu y passes essaies de voir ce que vaut la valeur bindée pour comprendre ce qui cloche.

Discussions similaires

  1. Binding de Button.Content dans un DataTemplate
    Par Invité dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 22/06/2011, 18h12
  2. Binding d'un DataObject dans un DataTemplate
    Par rockeye dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 18/05/2009, 11h18
  3. [WPF] Probléme de binding dans un UserControl :(
    Par UNi[FR] dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 17/07/2008, 15h51
  4. Binding avec ElementName dans un DataTemplate
    Par annalady dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 23/06/2008, 14h00
  5. [WPF] ajouter dynamiquement un control dans un dataTemplate.
    Par maa dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 28/02/2008, 08h20

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