私は自分自身をこのピクルスにコード化しました。このMSDNの記事 やネット上の他の多くの場所でTreeListView
説明されているものと同様のカスタムWPFコントロールを作成しています。現時点では、かなり大きな山がカスタム化されており、仮想化の面を除いて、私の目標をかなりうまく満たしています。私のオーバーライドとテンプレートはどちらもs を使用してアイテムを表示しており、これらすべてが期待どおりに作成されていることを確認しました。仮想化はルート レベルのアイテムで正しく機能します (現在 に表示されている UI 要素のみがクックアップされます)。TreeView
TreeViewItem
VirtualizingStackPanel
ScrollViewer
TreeView
スタッフは、折りたたまれたノードの要素を生成しないようにします。ノードを展開するときに問題が発生します。すべての要素は、ノード内のすべての子に対してクックされます。画面外にある何千もの要素も含まれます。
VirtualizingStackPanel
私がする必要があるのは、内部のネストされたs の scrollowner プロパティを、ルート レベルの VSP がデフォルトで接続されるのと同じメイン スクロールビューに何らかの方法で設定することだけのように思えましたが、MSFT のポスターをここで読みました。仕事。
残念ながら、これは仮想化が行われないと泥のように遅いので、何らかの解決策を考え出す必要があります。どんな提案でも大歓迎です。