2011-03-27 103 views
2

在畫布上繪製形狀之前,我有一個預覽來顯示形狀的外觀。我可以調整不透明度,然後繪製形狀。然後,我可能希望繪製具有不同不透明度的第二個形狀。我的問題是,改變預覽的不透明度也會改變我已繪製的形狀的不透明度。複製/克隆畫筆的最佳方法是什麼?

這使我相信我需要在繪製形狀之前每次創建用於預覽的畫筆的副本。

有各種不同的畫筆,例如漸變畫筆規定作出不只是漸變停止收集的副本,但要被複制的集合在一個新的漸變色標爲每個漸變停止。

我在這裏的正確軌道,還是應該做別的事情?我應該複製還是克隆?擴展方法是否是最好的選擇?請思考。

回答

2

你需要的是克隆,使用XamlWriter/Reader可以輕鬆實現wpf,不幸的是你不能在Silverlight中完成。儘管如此,在Brush上進行深度複製的擴展方法仍然可以正常工作。你將不得不單獨處理不同的筆刷類型,但它不應該是一個問題,因爲沒有那麼多。

相關問題