yayasam
Messages postés33Date d'inscriptionvendredi 26 mars 2010StatutMembreDernière intervention26 juillet 2010
-
16 juil. 2010 à 11:33
SCapeFrom
Messages postés11Date d'inscriptionjeudi 29 novembre 2007StatutMembreDernière intervention24 mai 2012
-
26 juil. 2010 à 14:30
Salut tous le monde, j'ai un gros souci avec les treeviewItem et les TreeView si quelqu'un aura une idée je le serai reconnaissante .
en fait sur mon projet j'affiche un Treeview , dans le quel j'affiche une certaine arborescence de répertoires, les répertoires sont récupérés via des appels à des web services, du coup les treeviewitem ne sont pas écrit en dur=> ts ça fonctionnent super bien
mon objectif mnt est de pouvoir récupérer la dernière navigation ça ve dire, si un utilisateur navigue dans ce treeview lors de la prochaine navigation, le treeview sera initialisé au dernier endroit consulté.
j'arrive à récupérer le dernier répertoire consulté aussi que ses sous dossiers
le problème c'est que pour naviguer dans treeview je lui ai associé l'évènement d'expanded, alors lors de la prochaine navigation je veux que le dernier répértoire consulté soit automatiquement étendu( isExpanded = true).
mon problème c'est que j'arrive pas à associer le nom de répertoire que je récupère avec le treeviewItem de mon treeview
voila mon code
private void reloadingTreeView()
{
TreeViewItem item= new TreeViewItem();
//lastDirectory est récupéré de la base de registre
if (lastDirectory != null)
{
item.DataContext = lastDirectory.Name;
item = treeViewByWS.ItemContainerGenerator.ContainerFromItem(item.DataContext) as TreeViewItem;
if (item == null)
{
LOG.Info("item is null");
}
else
{
//méthode pour récupérer les sous répertoires
LoadSubDirectory(lastDirectory);
item.IsExpanded = true;
}
}
}
j'utilise "ItemContainerGenerator.ContainerFromItem" pour récupérer le treeViewItem à paratir de son contenu mais ça me donne tjr [b]item is null
/b de l'aide SVP ça fait 3 jours que je suis bloquée sur ça.
merci à ts
NB: tellement je suis bloquée , j'ai posté ce sujet sur un autre forum
si on ne fait pas ce qu'on aime, il faut qu'on aime ce qu'on
fait!
SCapeFrom
Messages postés11Date d'inscriptionjeudi 29 novembre 2007StatutMembreDernière intervention24 mai 20123 21 juil. 2010 à 13:51
Salut,
J'utilise la même méthode que toi pour mais sur une listview et pour que mon item ne sois pas null il faut que le Status soit égal à ContainersGenerated
if (alvlmUnites.ItemContainerGenerator.Status == System.Windows.Controls.Primitives.GeneratorStatus.ContainersGenerated)
{
ListViewItem lvi = alvlmUnites.ItemContainerGenerator.ContainerFromItem(ali as ListViewItem);
if (lvi != null)
{
lvi.IsHitTestVisible = false;
lvi.IsTabStop = false;
}
}
yayasam
Messages postés33Date d'inscriptionvendredi 26 mars 2010StatutMembreDernière intervention26 juillet 2010 21 juil. 2010 à 14:42
tout d'abord merci bcp t'es le seul à me répondre depuis que j'ai posté ce problème et dont j'ai tjrs pas de solution.
j'ai rajouté la condition du statut, mais ça marche tjrs pas, je veux savoir si tu initialise la propriété du statut de ton treeview quelque part avant parce moi ça rentre pas dans la condition
ce veux dire myTreeViewItem.ItemContainerGenerator.Status != System.Windows.Controls.Primitives.GeneratorStatus.ContainersGenerated
et j'ai affiché la valeur de myTreeViewItem.ItemContainerGenerator.Status ça me donne not started
pourtant le treeViewItem est affiché mais pas étendu
de l'aide parce que je suis complétement perdue
si on ne fait ce qu'on aime, il faut qu'on aime ce qu'on fait!