あなたはTreeView.Itemsコレクションに.Where
ExtensionMethodを使用して、あなたが好きなことで見つけることができます。
WPFでTreeNodeがなくなり、代わりにTreeViewItems、ListViewListViewItemsなどがあります。したがって、これらの場合、TreeViewItemを使用する必要があります。 (あなたがTreeViewに好きなものを追加することはできますが、それはあなたのためにまとめられます)。
FindNameは、何が見つかるのかわからないのでオブジェクトを返します。期待どおりにキャストする必要がありますそうである。しかし、それはあなたが使いたいと思う行動です。また、Nameを持つ要素は、XAMLで作成された場合は自動的に登録されますが、C#/ VBで項目を作成してUIに追加する場合はそうではありません。 FindName()でアクセスできるようにするには、その名前を登録する必要があります。
ここで小さな例ツリービューアイテムを実証し、FindName指定を通じてツリービューの要素にアクセスするのです:
TreeView tree = new TreeView() { Name = "tree" };
uiDockPanel.Children.Add(tree);
var item1 = new TreeViewItem() { Header = "Item 1", Name = "Item1" };
tree.Items.Add(item1);
item1.RegisterName("Item1", item1);
var item2 = new TreeViewItem() { Header = "Item 2", Name = "Item2" };
tree.Items.Add(item2);
item1.RegisterName("Item2", item2);
var item3 = new TreeViewItem() { Header = "Item 3", Name = "Item3" ;
tree.Items.Add(item3);
item1.RegisterName("Item3", item3);
var i2 = tree.FindName("Item2") as TreeViewItem;
var subitem = new TreeViewItem() { Header = "SubItem 1"};
i2.Items.Add(subitem);