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 :

[TreeView] Comment Masquer un TreeViewItem // Filtrer un TreeView avec System.Windows.Visibility?


Sujet :

Windows Presentation Foundation

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut [TreeView] Comment Masquer un TreeViewItem // Filtrer un TreeView avec System.Windows.Visibility?
    Bonjour je souhaite filtrer simplement un TreeView,

    Pour cela j'ai essayé dans mon binding MVVM de faire un truc de ce style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                            <TreeView.ItemContainerStyle>
                                <!-- 
            This Style binds a TreeViewItem to a TreeViewItemViewModel. 
            -->
                                <Style TargetType="{x:Type TreeViewItem}">
                                    <Setter Property="Visibility" Value="{Binding Visible, Mode=TwoWay}" />
    Mais le souci c'est que lorsque je set Visible à System.Windows.Visibility.Hidden et bien ca me met du blanc à la place de l'item !

    Je souhaite que l'item n'apparaisse pu dans mon arbre, comment procéder ?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Je suis idiot je crois:
    Il faut le mettre à Collapsed et pas à hidden !

    // je vais vérifier

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    System.Windows.Visibility.Collapsed marche mieux en effet,

    néanmoins j'ai un truc étrange:
    si je filtre alors que les noeuds sont déja déployer rien "ne se passe", on dirait que Collapsed n'est pas pris en compte, alors que si je laisse les noeuds replier, que je filtre, et que je déploie manuellement, alors le filtre à bien lieu !

    Il faut faire un refresh quelque part ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    OK dans mon model MVVM il fallait dans le ViewModel avertir du changement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    protected virtual void OnPropertyChanged // INotifyPropertyChanged
    OK résolu !

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

Discussions similaires

  1. [WPF] TreeView Comment filtrer dynamiquement l'arbre en fonction d'un texte
    Par alavoler dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 08/11/2010, 13h43
  2. Réponses: 24
    Dernier message: 23/05/2006, 09h10
  3. [vb.net] [treeview] comment trier les nodes
    Par graphicsxp dans le forum Windows Forms
    Réponses: 8
    Dernier message: 09/02/2006, 14h28

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