1

たとえば、1000 などの多くのアイテムを含む WPF ツリービューを使用します。ツリービューの読み込みは非常に遅いため、次のリンクからマイクロソフトのアドバイスに従いました。

http://msdn.microsoft.com/en-us/library/cc716882.aspx

VirtualizingStackPanel.IsVirtualizing を「True」に設定し、VirtualizingStackPanel.VirtualizationMode を「リサイクル」に設定しました。ツリービューのパフォーマンスは非常に良好になりましたが、1 つの問題が発生します。

表示されているノードの外にあるツリービューで 1 つのノードを見つけたい場合、TreeViewItem は null になります。たとえば、ツリービューが下部にあるときに、ツリービューの上部に1つのノードを見つけたいとします。ノードを検索し、表示が必要なノードを表示した後、ツリービューを自動的に一番上にスクロールしたい。どうすればこれを行うことができますか?

よろしくお願いします!</p>

4

2 に答える 2

1

VirtualizationonTreeView 用であるため、( itemcontainerstreeViewItem) は表示されないオブジェクトに対しては生成されません。そのため、treeviewItem に対して null を取得しています。

treeViewItem を取得したい場合は、何らかの形で、BringIntoViewメソッドを呼び出すことで実行できる、基になるオブジェクトのコンテナーを生成する必要があります。

詳細な説明は、サンプル付きのMSDNにあります。

于 2013-11-02T08:38:18.117 に答える