選択されたタブがインデックス 1 (中央のタブ) である、3 つのタブを持つ既に読み込まれてレンダリングされた TabControl を検討します。
タブ 1: TextBox が 1 つある
タブ 2: 2 つの TextBox がある
タブ 3: 3 つの TextBox がある
VisualTreeHelper を使用して selectedItem のビジュアル ツリーを反復処理すると、TabControl の子内に 2 つの textBoxes が取得されます。
タブの選択が変更されたときにもう一度繰り返し、新しいタブのコントロールにアクセスしたい。タブ インデックス 2 に切り替えると、VisualTreeHelper を使用して 3 つのテキスト ボックスを見つける必要があります。
通常の解決策は、selection changed イベントをサブスクライブし、ツリーを調べて新しく表示されたコントロールを取得することです。問題は、現時点ではビジュアル ツリーに古いタブが残っているため、この検索の価値がないことです。
新しい TabItem が表示され、検索をトリガーする瞬間を傍受するにはどうすればよいですか?
ContentControl テンプレートの変更または TabControl で選択されたタブの変更によって変更された場合でも、特定の UI のすべての入力コントロールを監視する動的検証エンジンを作成しています...画像が得られることを願っています。
何か案は?