如何创建自定义System.Windows.Media.Brush?

时间:2009-04-10 04:42:57

标签: c# .net

我找不到任何关于实现继承System.Windows.Media.Brush的类的文档 - 为完成这项工作需要提供什么?

我的具体目标是三角形渐变;如果我能找到如何实际实现新画笔,我可以处理计算颜色的细节。

2 个答案:

答案 0 :(得分:1)

似乎没有延伸System.Windows.Media.Brush的任何指南。但它看起来像是提供了一个画笔,可以渲染你给它的绘图。 DrawingBrush

答案 1 :(得分:1)

由于性能原因,似乎通过添加内部抽象方法,明确地将Brush和其他绘图基元密封或防止子类化。

请参阅Microsoft的this post

鉴于this line in MSDN:

,这有点误导
  

对继承人的说明:

     

从Brush类继承时,   你必须覆盖   CreateInstanceCore方法。根据   关于你的班级是否必须表现   额外的初始化工作或   包含非依赖属性数据   成员,您可能需要覆盖   额外的Freezable方法。更多   有关继承的信息   Freezable类型,请参阅Freezable   对象概述。

似乎暗示如果他们给继承者注释它应该可以从Brush继承,但是Brush有一些内部抽象方法,不能被第三方类覆盖。