有些内容我对ContentControl不了解: 我有一个继承自ContentControl的类,它会覆盖OnRender方法。虽然我不打电话 base.OnRender(drawingContext),但内容仍在呈现......
为什么?
我错过了什么?
谢谢, 伊甸
答案 0 :(得分:1)
只有直接必须在设备上下文上绘制的原始控件(如Border
或TextBlock
覆盖OnRender
才能完成工作。由于大多数控件只是这些基元的组合,因此它们不会直接绘制。相反,他们是measuring and arranging他们的孩子,以便他们处于良好的位置和规模。
您需要覆盖的是方法MeasureOverride
和ArrangeOverride
。
话虽如此,如果您不想渲染任何内容,最好将控件的Visibility
设置为Collapsed
。