親アイテムが展開されたときに子アイテムを自動的に(できるだけ多く)スクロールして表示するカスタムWPF /MVVMTreeViewコントロールを作成しようとしています。
この投稿、WPF TreeViewを見つけました-展開されたブランチが表示されるようにスクロールする方法ですが、ツリーアイテムが実際にTreeViewItemから派生している場合にのみ機能するようです。
My Tree Itemクラスは単なるC#オブジェクトです-Josh Smithのブログhttp://www.codeproject.com/Articles/26288/Simplifying-the-WPF-TreeView-by-Using-the-ViewModeに沿って、 TreeItemクラスのIsExpandedプロパティセッターに遅延ロードされます。
OnExpandイベントハンドラーにステップインすると、元のソースがTreeViewItem(バックグラウンドでフレームワークによって作成されたもの)であり、ヘッダーフィールドにツリーアイテムオブジェクトが含まれていることがわかります。このTreeViewItemには、視覚的な子が1つ、グリッドが1つだけあり、グリッドには、ToggleButton、Border、ItemsPresenterの3つの視覚的な子があります。
子アイテムに対応するビジュアルコンポーネントを取得して、BringIntoView()を呼び出す方法について、誰かがヒントを持っていますか?