2011-03-27 118 views
2

在画布上绘制形状之前,我有一个预览来显示形状的外观。我可以调整不透明度,然后绘制形状。然后,我可能希望绘制具有不同不透明度的第二个形状。我的问题是,改变预览的不透明度也会改变我已绘制的形状的不透明度。复制/克隆画笔的最佳方法是什么?

这使我相信我需要在绘制形状之前每次创建用于预览的画笔的副本。

有各种不同的画笔,例如渐变画笔规定作出不只是渐变停止收集的副本,但要被复制的集合在一个新的渐变色标为每个渐变停止。

我在这里的正确轨道,还是应该做别的事情?我应该复制还是克隆?扩展方法是否是最好的选择?请思考。

回答

2

你需要的是克隆,使用XamlWriter/Reader可以轻松实现wpf,不幸的是你不能在Silverlight中完成。尽管如此,在Brush上进行深度复制的扩展方法仍然可以正常工作。你将不得不单独处理不同的笔刷类型,但它不应该是一个问题,因为没有那么多。

相关问题