如何在树状视图中获取子位置?

| 我目前有一个简单的树状视图,其中包含一个父节点和多个子节点。我想知道是否有一种方法可以在父树中找到所选节点的位置。 我目前在树视图上有一个动作事件,当用户单击子项时,它会打印出所选子项的字符串值。我尝试使用:
int val = TreeView.SelectedItemProperty.GlobalIndex;
但是它总是返回0。我已经在VB中看到了一些示例,但是我似乎无法在C#中获得相同的想法。     
已邀请:
        您必须使用Treeview的ItemContainerGenerator属性。 http://msdn.microsoft.com/zh-CN/library/system.windows.controls.itemcontainergenerator.aspx 请参阅:ContainerFromIndex和IndexFromContainer 请注意,每个TreeViewItem也都有一个ItemContainerGenerator(它的ItemsControl),因此,如果您有多个级别,则必须递归搜索树。     
        我认为wpf中所有treeview问题(和大多数ui问题)的答案是建立ViewModel。每当您开始爬网可视化树以查找已绑定到的元素时,您就在做困难的事情。一旦开始使用ItemsContainerGenerator,您就必须开始担心很多不必要的问题。 您正在绑定到层次结构。如果该结构在每个项目上都有一个selected item属性,并且绑定到TreeViewItem所选项目,那么您只需在代码中获取所选项目,然后从那里进行其他所有操作。在这里看看一个类似的问题。     
        所以我没有找到我想要的答案(我可能把我的问题与其他人混淆了。通过说出位置)。无论如何,我如何解决它是我得到了所选子代的字符串值并将其与我的列表进行比较。感谢那些回答!     

要回复问题请先登录注册