2012-02-09 52 views
1

我正在試圖製作一個應用程序,允許用戶在畫布上繪製形狀。一旦繪製完成,我希望用戶能夠以任何方式選擇,移動,調整大小,基本上操縱形狀。畫布 - 動態繪圖和管理形狀

我在XNA中做了類似的事情,這很容易,因爲有一個繪製循環。在我看來,在Silverlight中沒有這樣的東西,我無法弄清楚如何管理畫布上的對象。如何管理畫布'children collection以確保用戶界面對用戶所做的適當響應的最佳方式是什麼?

大多數例子都非常基本,不會去任何附近的這種事情。如果以前做過這件事的人能告訴我他們是如何處理這個問題的,我將不勝感激。

回答

0

想了一會兒,我想我想清楚它是如何工作的。

畫布有一個繪製循環,它是它所在的頂層父容器的繪製循環。 與XNA的不同之處我猜想,畫布上繪製的項目集合不需要明確繪製,因爲畫布需要自動繪製其子項。

所以,我需要的是一種方法來堅持我添加到畫布上的任何對象'孩子......然後我可以更新對象畫圖屬性,並且更改將在畫布下次刷新時反映出來。

我猜想某種存儲我放入列表中的項目的字典可能是最好的...?

尚未完成答案,但我想現在我明白了一半。

+1

您可能從以下系列文章中受益:http://cgeers.com/2010/04/18/silverlight-asteroids-part-1-game-loop/。作者所做的第一件事就是設置一個帶有渲染循環和精靈列表的畫布等。 – 2012-02-09 13:23:59

+0

這非常有趣。謝謝! – 2012-02-09 13:56:42