特定の <Panel> 派生コントロールに含まれる <Type> のコントロールのリストを作成するための信頼できる方法を探しています。これには、直接の子であるコントロールと、子の子であるコントロールが含まれます。
最も明白な方法は、再帰的に行うことでした:
<Type> のこのコントロールの子をリストに追加し、<Panel> または子孫であるこのコントロールの子に対して関数を繰り返します。
ただし、これでツリー内のすべてのコントロールが検出されるわけではないことが懸念されます。ContentControl には <Type> のコントロールが含まれる可能性があり、HeaderedContentControl または 1 つ以上の子/コンテンツ属性を持つ他の同様のコントロールも含まれる可能性があります。
特定の親なしで含まれる特定のタイプのコントロールのインスタンスを見つけることができるように、実際のレイアウト ツリーに対して検索を実行する手段はありますか?