1
我需要在WPF圖像上顯示多個標記。標記可以是線條,圓形,正方形等,可以有幾百個。在WPF圖像上高效顯示多個標記
圖像源和標記數據每隔幾秒更新一次。標記與圖像上的特定像素相關聯,並且它們的大小應該相對於屏幕是絕對的(即,當我移動圖像時,標記應該隨之移動,但是如果我放大,它們應該採用與圖像相同的空間屏幕如前)。
目前,我已經使用AdornerLayer
實現了這一點。這個解決方案有幾個問題,但最重要的是,即使對於120個這樣的標記,UI在負載下也不會很好。
我想問一下怎樣才能實現這個目標?我認爲兩種解決方案:
繼承
Canvas
並確保它不被無效,每 添加標記,但在一次一系列標記創建一個保存的圖像和變化的控制其
OnDraw
繪製的所有標記
我會從別人有類似的問題的經驗體會一些指點。
我結束了從圖像繼承。添加了一個標記列表,用於定義如何渲染自己並在圖像的OnRender中調用所有這些渲染函數。現在支持數百個標記。 – Dina