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 :

Wpf itemtemplate selector un peu tricky


Sujet :

Windows Presentation Foundation

  1. #1
    Futur Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Wpf itemtemplate selector un peu tricky
    Bonjour à tous,

    Je me permet de vous poser un question sur wpf car la cas que j'ai a traité est un peu spécial et je n'arrive pas à trouver une solution.

    En bref J'ai deux listes. Une liste qui est bindé sur une observable collection. Cette liste contient un objet que l'on appellera "parent". cet objet "parent" contient un libellé et une liste d'enfants .

    J'ai une autre liste visuelle qui est bindé sur une autre observable collection d' "enfant".

    En fait ce que je voudrai faire c'est changer le template des objets parents (le background par exemple) suivant la condition suivante : "un des enfants est présent dans la seconde liste" ...

    J'ai regardé du côté des datatamplate selector le problème est qu'il faut que je puisse passer ma seconde liste en paramètre afin de vérifier ma condition ...

    En fait le problème vient du fait que je n'arrive pas à trouver un moyen de modéliser cette condition proprement en respectant le pattern mvvm.

    SI quelqu'un peut m'aiguiller sur une piste c'est avec plaisir

  2. #2
    Membre averti
    Avatar de SoBaKa
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 349
    Points
    349
    Par défaut
    Bonjour,

    Avant toute chose, il y a une section WPF sur le forum.

    Ensuite : Challenge accepted!

    Tu peux télécharger ma solution : DemoTemplateSelectorListValue.zip. Désolé le code n'est pas très propre (fait à la va vite sur le temps de midi) mais cela devrait être une bonne piste pour toi l'adapter.

    Pour expliquer brièvement ma solution, le problème du "DataTemplateSelector" est que tu ne peux pas utiliser le binding car il n'hérite pas de "DependencyObject". L'idée est donc de passer par un "Behavior" qui va appliquer lui même le DataTemplateSelector en passant en paramètres la liste d'objet qui peut-être bindée. Pour créer un behavior, j'ai utilisé le package Nuget System.Windows.Interactivity.WPF. (Voir classes, dans la solution).

    Au niveau XAML, rien de plus simple :

    Code XAML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <i:Interaction.Behaviors>
        <b:OneInOtherListBehavior NormalTemplate="{StaticResource NormalTemplate}"
                                    OneInListTemplate="{StaticResource OneInListTemplate}"
                                    ObjectList="{Binding ObjectsB}"/>
    </i:Interaction.Behaviors>

    Et voila

    En espérant t'avoir aider

    Bonne journée.
    ****** Analyse/Développeur .Net

  3. #3
    Futur Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Oui merci beaucoup . C'est exactement le type d'implémentation que je recherchait. Effectivement le coup de la dependencyproperty était bienvenu afin de notifier la liste de parents de se rafraichir.

    En tout cas merci pour lé déblocage et désolé pour le post dans la mauvaise section je ferai gaffe la prochaine fois

Discussions similaires

  1. [WPF] Synchronisation du binding un peu lente
    Par Baud10 dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 25/05/2010, 19h47
  2. [WPF DataBinding] Binding un peu compliqué
    Par thanatoster dans le forum Windows Presentation Foundation
    Réponses: 13
    Dernier message: 16/04/2008, 08h21
  3. [WPF]Un peu d'explication
    Par chris81 dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 21/12/2007, 14h11
  4. RTL60 ( la jsuis un peu confused)
    Par magdoz dans le forum Outils
    Réponses: 7
    Dernier message: 23/07/2002, 11h20
  5. DirectX 6, un peu en retard ... :\
    Par multani dans le forum DirectX
    Réponses: 3
    Dernier message: 28/05/2002, 19h19

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