1

WPF画像に多くのマーカーを表示する必要があります。マーカーには、線、円、正方形などがあり、数百個ある場合があります。

画像ソースとマーカーデータの両方が数秒ごとに更新されます。マーカーは画像上の特定のピクセルに関連付けられており、そのサイズは画面に対して絶対的である必要があります(つまり、画像を移動すると、マーカーも一緒に移動する必要がありますが、ズームインすると、マーカーと同じスペースを取る必要があります。前と同じように画面)。

現在、これを使用して実装していAdornerLayerます。このソリューションにはいくつかの問題がありますが、最も重要な問題は、120個のそのようなマーカーでもUIが負荷の下でうまく機能しないことです。

これを実装するための最良の方法は何でしょうか?私は2つの解決策を考えました:

  • Canvas追加されたすべてのマーカーではなく、ある範囲のマーカーに対して一度に継承し、無効になっていることを確認します

  • 画像を保持するコントロールを作成し、そのコントロールを変更しOnDrawてすべてのマーカーを描画します

同様の問題を経験した人からのアドバイスをいただければ幸いです。

4

1 に答える 1

0

あなたのユースケースは非常に特殊化されているように見えるので、特殊化されたソリューションが適切であるように思われます。2番目のオプションの変形を試してみます—そのメソッドImageをオーバーライドしてextendします。OnRender

于 2013-02-02T16:06:28.463 に答える