我们有一个控件,我们在 OnRender 中进行自己的自定义绘图。但是,如果您愿意,我们希望使用具有透明度的 PNG 作为各种绘图“通道”的模板。
现在我们已经知道我们可以简单地在 ImageBrush 中使用 PNG 并将其设置为控件的 OpacityMask,但我们实际上想要使用几种不同的模板进行多次绘制。如果我们想走 OpacityMask 路线,我们必须创建单独的控件、单独的 ImageMask,然后将它们全部堆叠在一起,这也会使您的视觉树变得混乱。
我们不想那样做。我们希望在单个Control
子类的 OnRender 覆盖中完成所有绘图。我们只希望那些绘制调用被图像掩盖。然后我们想一遍又一遍地重复,直到我们的绘图完成。
有什么办法可以做到这一点?