CH4BRN
Messages postés51Date d'inscriptionlundi 19 février 2018StatutMembreDernière intervention 6 février 2021
-
29 mars 2018 à 17:17
Whismeril
Messages postés18404Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention30 mai 2023
-
30 mars 2018 à 12:37
Bien le bonsoir !
Je suis toujours à la recherche du saint TreeView qui s'affiche comme je le voudrais,
et dans cette quête, j'aurais (encore) besoin de votre aide, Ô codeurs chevronnés.
... que j'arrive à remplir sans trop de problèmes (j'en ai eu, mais ils sont loin maintenant, ils datent au moins de ce matin).
Mon soucis, mon nouveau soucis, c'est que je voudrais que cete TreeView soit "dépliée" jusqu'à une valeur bien précise.
Je m'explique :
Sur une vue, j'ai une DataGrid peuplée à partir d'une ObservableCollection. Quand je sélectionne une ligne de cette DataGrid, une nouvelle vue s'ouvre avec une TreeView présentant cette ObservableCollection sous forme d’arborescence.
L'idée, c'est que je voudrais que ma TreeView soit "ouverte" ou "dépliée" jusqu'à la valeur sélectionnée précédemment dans la DataGrid.
Je pensais utiliser quelque chose comme ExpandAll, ou SelectedItem, ou encore SelectedValue, mais apparement, ça n'existe pas/plus. la petite joyeuserie, c'est que je dois respecter absolument un modele MVVM.
Est ce que quelqu'un aurait la patience de m'orienter ou de m'aider?
J'ai l'impression de passer mes journées ici en ce moment.. C'est plutôt sympa !
CH4BRN
Messages postés51Date d'inscriptionlundi 19 février 2018StatutMembreDernière intervention 6 février 2021 Modifié le 30 mars 2018 à 11:59
Finalement, j'ai trouvé :
Dans ma classe de "noeud" personnalisée, j'ai ajouté un booleen :
/// <summary>
/// is the node expanded?
/// </summary>
private bool _isExpanded;
/// <summary>
/// gets or sets the node's expansion
/// </summary>
public bool IsExpanded
{
get => _isExpanded;
set => _isExpanded = value;
}
Dans ma méthode "getChild" qui peuple le TreeView, j'ai ajouté quelque chose pour que tant que la valeur recherchée n'a pas été trouvée, on met "IsExpanded" a true :
Du coup, le treeview se construit en depliant automatiquement les noeuds, jusqu'à ce que la valeur recherchée soit trouvée. A ce moment, "expandable" passe a false, et les noeuds suivants ne sont plus dépliés.
Voila, j'espère que ça aura aidé quelqu'un !
merci Whismeril ;)
Whismeril
Messages postés18404Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention30 mai 2023623 Modifié le 30 mars 2018 à 12:39
De rien ça fait 2 fois que tu trouves tout seul sans que mes interventions te soit utile ;)
Modifié le 30 mars 2018 à 11:59
Dans ma classe de "noeud" personnalisée, j'ai ajouté un booleen :
Dans ma méthode "getChild" qui peuple le TreeView, j'ai ajouté quelque chose pour que tant que la valeur recherchée n'a pas été trouvée, on met "IsExpanded" a true :
enfin j'ai ajouté ceci à mon treeView :
Du coup, le treeview se construit en depliant automatiquement les noeuds, jusqu'à ce que la valeur recherchée soit trouvée. A ce moment, "expandable" passe a false, et les noeuds suivants ne sont plus dépliés.
Voila, j'espère que ça aura aidé quelqu'un !
merci Whismeril ;)
Modifié le 30 mars 2018 à 12:39