2009-06-25 6 views
2

alt textWPF TreeView Point sélectionner Problème

I Have Treeview (présentée comme ci-dessus) dans mon application, je l'ont binded avec la collection ... maintenant le problème est quand j'élargissons sur Colorodo par défaut Aspen doit être sélectionné, signifie chaque fois que j'élargissons premier élément que le nœud doit être sélectionné ..

Toutes les idées/suggestion S'il vous plaît

+0

Pouvez-vous publier le code XAML que vous avez pour treeView? –

Répondre

6

Malheureusement, comme je suis sûr que vous avez découvert, est que vous ne pouvez pas régler le treeViewInstance.SelectedItem propriété en lecture seule.

De mémoire, chaque TreeViewItem possède une propriété IsSelected que vous pouvez set. Vous essayez d'écouter pour développer/réduire sur les éléments et peut-être définir cette propriété. Sans essayer cela moi-même je ne sais pas si c'est a) une bonne solution b) si cela fonctionne même.

Pour obtenir le TreeViewItem qui est le récipient pour l'élément utilisé de collection

treeViewInstance.ItemContainerGenerator.ContainerFromItem(yourDataItem) as TreeViewItem; 

Une autre idée (la façon dont je le ferais) est d'utiliser un ListBox/ListView et faux le point de vue hiérarchique. Créez un contrôleur et un élément de modèle de vue, enveloppez vos données et gérez tout cela vous-même. Si vous voulez plus d'informations, s'il vous plaît laissez un commentaire et je vais creuser quelques exemples pour vous aider.

HTH,

Dennis

0

Il y a deux apporches choisir ce que jamais vous aimez. i) explore ItemTemplageSelector, pas sûr mais peut être possible de travailler avec lui. Autre sage sur l'événement d'expansion d'arbre ou l'événement de capture de souris obtenir le nœud racine actuelle, puis sélectionnez son premier enfant avec l'index comme rootNode.child [0] ... set c'est comme sélectionné True ou Isfocused et perfom opération qui est destiné à son clic vous vous rendrez l'utilisateur se sentir comme il est sélectionné.