0

グラフ作成に使用するコントロールを WPF で開発しましたが、コントロールのサイズを変更するとパフォーマンスの問題が発生します。パフォーマンスを向上させる方法がわからないので、現時点ではリサイズ時のレンダリングを単純にオフにしていますが、あまり見栄えがよくありません。したがって、私の質問は、サイズ変更中にコントロールを画像として「フリーズ」して、滑らかに見せることができるかどうかです。

編集:コントロールは基本的に、カスタム仮想化パネルを含むスクロールビューアで構成されています。scrollviewer は水平方向にのみスクロールできます。スクロールビューアの仮想化されたパネルには、曲線、ラベル、グリッドなどの他のすべてのアイテムが含まれています。

4

2 に答える 2

0

ここに提案の良いリストがあります:

WPF アプリケーションのパフォーマンスの問題を解決する

さらに試してみてください:

ScrollViewer で IsDeferredScrollingEnabled="true"。

UI 仮想化は、ScrollViewer.CanContentScroll=true がある場合にのみ有効になります

WPF での ListBox、VirtualizingStackPanel、およびスムーズ スクロール

ピクセルベースのスクロールを許可し、仮想化するハックな回避策:

ListBox を使用した WPF ListBox - UI の仮想化とスクロール

UI 仮想化の詳細:

http://bea.stollnitz.com/blog/?p=338

于 2012-07-11T23:44:29.210 に答える
0

この答えは明らかに遅すぎますが、将来の探検家に役立つかもしれません!

ビジーなコントロールでコンテンツのサイズをスムーズに変更したい場合、この回答は役に立たない可能性があります。ただし、サイズ変更中の吃音を回避したい場合は、サイズ変更を開始する前にこれを行ってください。

  1. 現在の画面コンテンツを画像にキャプチャする
  2. 上の画像を背景として Reangle オーバーレイを配置します。
  3. コントロールの可視性を Hidden/Collapsed に設定します

サイズ直しが完了したら。

  1. コントロールの可視性を Visible に設定します
  2. レイアウトが変更されるのを待ちます (つまり、コントロールがレイアウトされます)。
  3. 長方形のオーバーレイを非表示にします。

これは、コントロールに対してはかなりうまく機能しますが、ウィンドウのサイズを変更している場合は、まだスタッタリングが発生します。

于 2015-08-24T13:14:13.107 に答える