ビジュアル要素の Tag プロパティにバインドされた ID を持つ要素を探して、ビジュアル UI ツリーを走査できるようにしたいと考えています。
私はこれをどのように行うのだろうかと思っています。コントロールにはトラバースする子がありません。
私は LogicalTreeHelper.GetChildren を使い始めました。これは、TreeView コントロールに到達するまで、意図したとおりに動作しているようです...その後、LogicalTreeHelper.GetChildren は子を返しません。
注: 目的は、データ項目に対応するビジュアル UI 要素を見つけることです。つまり、アイテムの ID を指定して、それを表示している UI 要素を見つけます。
編集:私は明らかにこれを十分に説明していません。いくつかのデータ オブジェクトを TreeView コントロールにバインドし、そのビジネス オブジェクトの ID を指定して特定の項目をプログラムで選択したいと考えています。データ オブジェクトの ID は適切なビジュアル要素の Tag プロパティにあるため、ビジュアル ツリーをたどって必要な要素を見つけるのがなぜ難しいのかわかりません。Mole を使用しており、タグに適切な ID を持つ UI 要素を見つけることができます。コード内にビジュアル要素が見つかりません。LogicalTreeHelper はツリー内のアイテムをトラバースしません。また、ItemContainerGenerator.ContainerFromItem がツリー ビュー内のアイテムを取得することもありません。