2009-05-18 48 views
7

キャンバス内で生成された一連の矩形があり、XAMLのScrollView> Canvas> VirtualizingStackPanel> Rectangleの順にネストされます。WPFキャンバスの仮想化

仮想化がサポートされているシナリオに関するMicrosoftの情報はほとんどなく、エラーがスローされない場合は単に標準のStackPanelのように扱われます。

キャンバス全体で合計約800個のうち約60個の四角形が一度に画面上に表示され、約5分の読み込み時間が許容できないほど遅くなることを考えると、

ScrollViewを削除しても、パフォーマンスが改善されなかったスクロールバーを削除する以外に、既に他の入れ子要素を削除しようとすると、ネットエフェクトは何も表示されないか、または表示されているがまだ遅い。

ベストプラクティス私はこれまで、フリーウェアコードVirtualizedCanvasのサンプルを見つけましたが、非常に限られていて、内部にネストされたものはサポートしていません。

このソリューションは、基本的にデータバインディングを無視し、完成したCanvasを渡す必要があります。これにより、既存のコードとコンバータはすべて役に立たなくなり、実装に大きな変更になります。

キャンバスを仮想化して60個の画面アイテムのみを描画する方法はありますか?この例アウト

答えて

関連する問題