2015-03-31 80 views
1

如何更改Viewport3D的渲染?有像WinForms一樣的Paint事件嗎?Viewport3D的Paint事件

我想在屏幕空間(在視口中)而不是在世界空間(在視口中)繪製一些內容。爲什麼?因爲直接在viewport3D中繪製文本和線條太重了。我有數十萬行和文字來繪製。即使我使用了好的庫,它也會減緩繪圖過程並大幅度增加內存。

另外,我想在viewport3D的表面繪製一個矩形,而不管內容如何。 (例如,我不想計算我應該在哪裏繪製矩形,以便它不會晃動對象)。

因此,只要我知道如何做到這一點,在viewport3D的表面上繪製將是一個很好的解決方案。

+0

您可以重寫OnRender(DrawingContext drawingContext)方法。 – 2015-03-31 20:31:05

+0

這就是全部?哦,好吧,我現在就來試試這個。 – steacker 2015-03-31 20:33:55

+0

It workss :))謝謝:)我怎樣才能upvote你的答案? – steacker 2015-03-31 20:40:20

回答

1

您可以覆蓋Viewport3D的OnRender方法。請參閱以下代碼。

class MyViewPort : Viewport3D 
{ 
    protected override void OnRender(DrawingContext drawingContext) 
    { 
     base.OnRender(drawingContext); 
    } 
} 
+0

投票結果要求在聲望15 ...對不起:s或.. Upvote我的問題,我可以upvote你的迴應:) – steacker 2015-03-31 21:02:18

+0

你可以通過點擊勾號標記爲答案。 – 2015-03-31 21:09:29

+0

我不知道的另一件事,謝謝:D – steacker 2015-03-31 21:10:08