Obtenir le nœud Parent d'un Enfant en WPF C# TreeView

Je comprends que la programmation en C# avec WPF est différente de la traditionnelle C# les procédures de sorte que la plupart du matériel en ligne ne font pas état de ce dont j'ai besoin.

J'ai un contrôle TreeView dans ma Fenêtre WPF et j'ai des noeuds de parent et de l'enfant nœuds en elle. Je tiens à les stocker dans une Liste de type de Nœud (id, nom, parent).

Obtenir le nœud Parent d'un Enfant en WPF C# TreeView

J'ai obtenu le nom de l'élément sélectionné/nœud à l'aide de ceci:

private void TreeViewItem_OnItemSelected(object sender, RoutedEventArgs e)
{
    TreeViewItem item = treeView.SelectedItem as TreeViewItem;
    nameTxt.Text = item.Header.ToString();
}

Et j'ai essayé de faire le Parent du nœud enfant immédiatement avant l'utilisation de ce:

TreeViewItem item = treeView.SelectedItem as TreeViewItem;
nameTxt.Text = item.Parent.ToString();

Toutefois, cela renvoie le Parent Racine (A) à la place du parent de l'enfant (qui est 2).

Quels changements dois-je faire pour amener l'enfant du parent immédiat au lieu de la racine mère? 🙂

EDIT: Voici le code XAML

<TreeView Name="treeView" HorizontalAlignment="Left" Height="564" Margin="10,68,0,0" VerticalAlignment="Top" Width="363">
     <TreeViewItem TreeViewItem.Selected="TreeViewItem_OnItemSelected"  Header="A" IsExpanded="True" Height="554" FontSize="18">
                <TreeViewItem Header="1" />
                <TreeViewItem Header="2" />
     </TreeViewItem>
</TreeView>
  • Qui est inhabituel, c'est le parent du nœud qui est retourné par la propriété Parent.Pourriez-vous peut-être montrer une version étendue du code fourni par vous,peut-être que le problème est ailleurs
  • Quel a été le SelectedItem quand item.Parent retourne A?
  • c'est le code complet, mate. Je suis juste l'impression de l'élément sélectionné et le parent à une zone de texte. Il continue juste à sur la cartographie pour le nœud racine qui est A. Cependant l'élément sélectionné montre l'élément actuellement sélectionné, c'est juste que le parent cesse de s'mappé vers le nœud racine à la place de la société mère immédiatement avant
  • consulter le commentaire ci-dessus, monsieur! 🙂
  • J'ai ajouté mon XML à la question
  • Votre Xaml ne reflète pas l'INTERFACE utilisateur vous montre en image, vous n'avez que deux nœuds dont le parent est A, de sorte que vous obtenez A. Je ne peux pas reproduire le problème. Poste à plein code reproduit le problème pour obtenir de l'aide. Btw, je vous recommande d'utiliser la liaison de données reportez-vous à la place de ceci.

InformationsquelleAutor MWUser | 2015-03-12