Silverlight 复制/克隆笔刷的最佳方式是什么?

Silverlight 复制/克隆笔刷的最佳方式是什么?,silverlight,brushes,Silverlight,Brushes,在画布上绘制形状之前,我有一个预览,显示形状的外观。我可以调整不透明度,然后绘制形状。然后我可能希望用不同的不透明度绘制第二个形状。我的问题是改变预览的不透明度也会改变我已经绘制的形状的不透明度 这让我相信,每次在绘制形状之前,我都需要创建一个用于预览的笔刷副本 有各种不同的画笔,例如,渐变画笔不仅需要复制渐变停止集合,还需要为待复制集合中的每个渐变停止创建一个新的渐变停止 我是走对了路还是应该做点别的?我应该复制还是克隆?扩展方法是最好的方法吗?请思考。您需要的是克隆,在wpf中使用XamlW

在画布上绘制形状之前,我有一个预览,显示形状的外观。我可以调整不透明度,然后绘制形状。然后我可能希望用不同的不透明度绘制第二个形状。我的问题是改变预览的不透明度也会改变我已经绘制的形状的不透明度

这让我相信,每次在绘制形状之前,我都需要创建一个用于预览的笔刷副本

有各种不同的画笔,例如,渐变画笔不仅需要复制渐变停止集合,还需要为待复制集合中的每个渐变停止创建一个新的渐变停止


我是走对了路还是应该做点别的?我应该复制还是克隆?扩展方法是最好的方法吗?请思考。

您需要的是克隆,在wpf中使用XamlWriter/Reader将很容易,但不幸的是,您无法在Silverlight中进行克隆。不过,在画笔上使用一种扩展方法来制作深度副本在您的情况下也可以。您将不得不单独处理不同的笔刷类型,但这不应该是一个问题,因为没有那么多