使用C1PrintDocument控件 > 样式 > 样式继承,Parent以及AmbientPrent |
所有的影响该样式所应用的对象外观(如字体,背景色,等等)的样式属性可以为两个状态之一:已设置或者未设置。最初,一个新创建的样式,其所有属性为未设置状态。它们的值可以进行查询,但是该值通过继承关系,从另一个对象或者样式获取(详见下文)。如果一个属性被设置,该设置的值将存储在样式对象自身,而将不再继承并影响自其他样式。
样式具有两个特殊的属性以支持继承:Parent 以及AmbientParent。Parent属性获取或设置一个样式,该样式将为当前的样式中尚未设值的非环境属性提供继承的值。AmbientParent属性获取或设置一个样式,该样式为当前样式中尚未设值的环境属性提供继承的值。默认情况下,一个新建的内联样式的以上两个属性均为空(在C#语言中为null,而在VB语法中的值为Nothing),而在一个样式的Chindren集合中创建的样式,其Parent属性设置为拥有该集合的样式,此时,AmbientParent属性的值仍为空。
如果一个样式的Parent属性未指定,则非环境属性的值将从静态默认值获取(参见下表)。如果一个样式的AmbientParent属性未指定,则环境属性的值将从应用该样式的对象的容器对象获取。
例如,如果一个RenderText对象rt包含在一个RenderArea对象ra中,那么以下规则将用作获取字体(即,一个环境样式属性),以呈现文本:
请注意,虽然在默认情况下,一个样式中Children集合中的样式,它们的Parent属性都指向该拥有此Children集合的对象,但是这个值可以修改。例如,在此Children集合中的一个对象的Parent可以指向同一个集合中的另一个样式。Children集合仅仅是一个方便的方式用做对相关的样式进行分组和存储,但是不会真正的对这些样式的继承关系做出任何的限制。