2

私は自分自身をこのピクルスにコード化しました。このMSDNの記事 やネット上の他の多くの場所でTreeListView 説明されているものと同様のカスタムWPFコントロールを作成しています。現時点では、かなり大きな山がカスタム化されており、仮想化の面を除いて、私の目標をかなりうまく満たしています。私のオーバーライドとテンプレートはどちらもs を使用してアイテムを表示しており、これらすべてが期待どおりに作成されていることを確認しました。仮想化はルート レベルのアイテムで正しく機能します (現在 に表示されている UI 要素のみがクックアップされます)。TreeViewTreeViewItemVirtualizingStackPanelScrollViewerTreeViewスタッフは、折りたたまれたノードの要素を生成しないようにします。ノードを展開するときに問題が発生します。すべての要素は、ノード内のすべての子に対してクックされます。画面外にある何千もの要素も含まれます。

VirtualizingStackPanel私がする必要があるのは、内部のネストされたs の scrollowner プロパティを、ルート レベルの VSP がデフォルトで接続されるのと同じメイン スクロールビューに何らかの方法で設定することだけのように思えましたが、MSFT のポスターをここで読みました。仕事。

残念ながら、これは仮想化が行われないと泥のように遅いので、何らかの解決策を考え出す必要があります。どんな提案でも大歓迎です。

4

2 に答える 2

0

仮想化スタックパネルを使用してはいけないことのリストへのリンクがありましたが、何らかの理由でページが空白になります。これについて少し説明している別のページを次に示します。

http://www.designerwpf.com/2008/02/12/listview-and-listbox-performance-issues/

そして、私が話しているものへのリンクさえありますが、常に空白です。そのページを見ると、Mark Shurmer のブログへのリンクがあります。試してみたい場合は、次のリンクを参照してください。

http://itknowledgeexchange.techtarget.com/wpf/listview-is-it-really-too-slow/

Bea Stollnitz にも役立つ記事がいくつかあります。

パート 1 パート 2 パート 3

コードの一部を投稿すると、誰かがスパゲッティを少し解きほぐして、より良い実装を実現できるかもしれません。

編集: 機能する可能性のあるリンクを見つけました (archive.org に感謝します!!!): http://web.archive.org/web/20080104163725/http://itknowledgeexchange.techtarget.com/wpf/listview-is-it -本当に遅すぎる/

于 2009-07-30T20:17:26.403 に答える